반응형



Raspbian이 설치된  Raspberry Pi 3와 Windows 10이 설치된 컴퓨터 간 파일 공유를 위해 삼바 설정 하는 방법을 설명합니다.





1. 윈도우 컴퓨터 준비


2. Raspberry Pi 준비


3. 윈도우에서 Raspberry Pi의 공유폴더 접근


4. Raspberry Pi에서 윈도우의 공유 폴더 접근


5. Raspberry Pi 데스크탑 환경에서 윈도우의 공유폴더 접근





1. 윈도우 컴퓨터 준비

윈도우에서 해야하는 네트워크 설정 및 공유폴더 생성 방법에 대해서 설명합니다.


1. 윈도우 키 + R을 누르고 다음 명령을 입력하여 실행합니다.


control /name Microsoft.NetworkAndSharingCenter





2. 고급 공유 설정 변경을 선택합니다.





3.  네트워크 검색 켜기파일 및 프린터 공유 켜기를 체크합니다.

윈도우에 따라 홈 그룹 연결 항목은 안 보일 수 있습니다.

(윈도우 업데이트를 했는지 여부에 따라 달라집니다.)





아래 화면처럼 선택하고 변경 내용 저장을 클릭합니다.





4. 공유할 폴더를 선택하고 마우스 우클릭 후, 메뉴에서 속성을 선택합니다.

공유 탭을 선택하고 고급 공유를 클릭합니다.





5. 선택한 폴더 공유를 체크하고 권한을 클릭합니다.





6. 추가를 클릭합니다.





7. 선택할 개체 이름에 라즈베리파이에서 공유폴더에 접근시 사용할 윈도우에 등록된 사용자 이름을 적어주고 확인을 클릭합니다.





8. 방금 추가된 사용자를 선택하고 모든 권한의 허용을 체크해줍니다.  





9. 추가한 사용자외에 다른 사람들은 공유폴더에 접근할 수 없도록 Everyone을 선택하고 제거를 클릭합니다.





10. 파일 공유시 방어벽이 문제가 안되도록 설정을 변경해줘야 합니다.

제어판에서 시스템 및 보안 > Windows 방어벽에서 앱 허용을 선택합니다.






11. 설정 변경을 클릭합니다.





12. 목록에서 파일 및 프린터 공유를 찾아서 개인 항목을 체크하고 확인을 클릭합니다.





2. Raspberry Pi 준비

라즈베리파이에서 해야하는 네트워크 설정 및 공유 폴더 생성방법에 대해 설명합니다.



0. 설치되어 있는 패키지를 최신 버전으로 업데이트 합니다.

최신 버전 패키지에서 설정하는 방법이  바뀔 수 있어서 진행했습니다.


pi@raspberrypi:~ $  sudo apt-get update && sudo apt-get upgrade




1. Samba를 위해 필요한 패키지를 설치합니다.


$ sudo apt-get install samba samba-common




2. 공유폴더를 생성합니다.


pi@raspberrypi:~ $ sudo mkdir /media/pi
pi@raspberrypi:~ $ sudo chmod 777 /media/pi




3. /etc/samba/smb.conf 파일을 수정합니다.


pi@raspberrypi:~ $ sudo nano /etc/samba/smb.conf



3-1. [global] 항목을 찾아서 다음처럼 노란줄을 추가합니다.


[global]

## Browsing/Identification ###

# Change this to the workgroup/NT-domain name your Samba server will part of
  workgroup = WORKGROUP

# Windows Internet Name Serving Support Section:
# WINS Support - Tells the NMBD component of Samba to enable its WINS Server
#   wins support = no
wins support = yes




3-2. 그리고  끝부분에 다음을 추가합니다.

  

[raspberrypi]
path=/media/pi
browseable=Yes
writeable=Yes
only guest=no
guest ok = no
create mask=0777
directory mask=0777
public=no




4. 설정을 적용하기 위해 samba 데몬을 재시작합니다.


pi@raspberrypi:~ $ sudo /etc/init.d/samba restart
[ ok ] Restarting nmbd (via systemctl): nmbd.service.
[ ok ] Restarting smbd (via systemctl): smbd.service.




삼바 계정 패스워드를 생성합니다.


pi@raspberrypi:~ $ sudo smbpasswd -a pi
New SMB password:
Retype new SMB password:
Added user pi.





3. 윈도우에서 Raspberry Pi의 공유폴더 접근

1. 라즈베리파이에서 공유한 폴더에 파일을 하나 생성해둡니다.


pi@raspberrypi:~ $ touch /media/pi/test




2. 윈도우 컴퓨터에서 네트워크를 열어보면 RASPBERRYPI라고 보입니다.





보이지 않는 경우 상단에 보이는 입력란에 \\raspberrypi를 입력합니다.





3. 삼바에서 설정한 raspberrypi 폴더를 선택합니다.




4. 라즈베리파이에서 생성했던 파일이 보이게 됩니다.




5. 이 폴더에 파일을 하나 생성해보면





라즈베리파이에서 해당 파일이 보입니다.





4. Raspberry Pi에서 윈도우의 공유 폴더 접근


1. smbclient 패키지를 설치해야 합니다.


pi@raspberrypi:~ $ sudo apt-get install smbclient




공유 폴더를 마운트할 디렉토리도 생성해줍니다.


pi@raspberrypi:~ $ sudo mkdir /media/windows




2. -L 다음에 윈도우 컴퓨터의 이름을 적고, -U 다음에 윈도우 컴퓨터 사용자 계정 이름을 적습니다.

Enter 사용자이름’s password : 에서 윈도우 사용자의 비밀번호를 입력해줘야 합니다.


다음처럼 “protocol negotiation failed: NT_STATUS_CONNECTION_RESET” 에러가 나는 경우 추가 옵션을 적어줘야 합니다.

( https://www.novell.com/support/kb/doc.php?id=7019892 )


pi@raspberrypi:~ $ sudo smbclient -L webnautes-pc -U webnautes
WARNING: The "syslog" option is deprecated
Enter webnautes's password:
protocol negotiation failed: NT_STATUS_CONNECTION_RESET




추가로 -m SMB2라고 적어주면 윈도우에서 공유중인 목록이 보입니다.

Enter 사용자이름’s password : 에서 윈도우 사용자의 비밀번호를 입력해줘야 합니다.


pi@raspberrypi:~ $ sudo smbclient -L webnautes-pc -U webnautes -m SMB2
WARNING: The "syslog" option is deprecated
Enter webnautes's password:

Domain=[WEBNAUTES-PC] OS=[] Server=[]


       Sharename       Type Comment

       ---------       ---- -------

       ADMIN$        Disk 원격 관리

       C$        Disk 기본 공유

       D$        Disk 기본 공유

       IPC$        IPC 원격 IPC

       공유폴더         Disk

Domain=[WEBNAUTES-PC] OS=[] Server=[]


       Server             Comment

       ---------            -------


       Workgroup            Master

       ---------            -------




3.  앞에서 찾은 윈도우의 공유 폴더를 마운트하려면 cifs-utils 패키지가 필요합니다.


pi@raspberrypi:~ $ sudo apt-get install cifs-utils




4. 윈도우 컴퓨터 이름을 사용해서 마운트시 다음처럼 주소를 찾을수 없다고 에러가 나면  윈도우 컴퓨터의 아이피 주소를 사용해야 합니다.


pi@raspberrypi:~ $ sudo mount -t cifs -o user=webnautes,file_mode=0777,dir_mode=0777 //webnautes-pc/공유폴더 /media/windows
mount error: could not resolve address for webnautes-pc: Unknown error




윈도우 10의 경우 SMB 1.0을 디폴트로 지원하지 않기 때문에 다음과 같은 에러가 발생합니다.


pi@raspberrypi:~ $  sudo mount -t cifs -o user=webnautes,file_mode=0777,dir_mode=0777 //192.168.35.109/공유폴더 /media/windows
Password for webnautes@//192.168.35.109/webnautes:  **************
mount error(112): Host is down
Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)




5. 다음처럼 vers=2.0이라고 사용할 SMB 버전을 지정해주면 해결됩니다.( https://serverfault.com/a/842686 )


pi@raspberrypi:~ $ sudo mount -t cifs -o user=webnautes,file_mode=0777,dir_mode=0777 //192.168.35.109/공유폴더 /media/windows -o vers=2.0
Password for webnautes@//192.168.35.109/공유폴더:  **************




또는 윈도우 기능 중에   SMB 1.0/CIFS 서버를 체크해서 활성화 시켜주면  “-o vers=2.0”를 적어주지 않아도 됩니다.

윈도우를 재부팅해야 적용이 됩니다.





Permission denied 에러 발생시 비밀번호를 잘못 입력했을 가능성이 높습니다.


pi@raspberrypi:~ $ sudo mount -t cifs -o user=webnautes,domain=webnautes-pc,file_mode=0777,dir_mode=0777,sec=ntlmssp //webnautes-pc/공유폴더 /media/windows -o vers=2.0
Password for webnautes@//webnautes-pc/share:  *********
mount error(13): Permission denied
Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)




6. 파일을 생성해주고

pi@raspberrypi:~ $ touch /media/windows/테스트




윈도우에서 확인해보면 해당 파일이 보입니다.





다음 명령으로 마운트를 해제합니다.


pi@raspberrypi:~ $ sudo umount /media/windows   



5. Raspberry Pi 데스크탑 환경에서 윈도우의 공유폴더 접근


1. 앞에서도 언급했던 윈도우 기능  SMB 1.0/CIFS 서버를 체크해서 활성화 시켜주어야 합니다.

윈도우를 재부팅해야 적용이 됩니다.





2. 파일 매니저를 실행하고 메뉴에서 Go > Network를 선택합니다.





3. 같은 네트워크에 있는 윈도우가 설치된 컴퓨터가 보입니다.  





4. 해당 컴퓨터로 접속하려고 하면 다음과 같은 창이 보입니다.

윈도우 사용자 정보를 입력해주고 Remember password until you logout을 체크한 후, Connect를 클릭합니다.





5. 리스트에서 윈도우에서 공유했던 폴더를 선택하면





앞에서 봤던 창이 한번 더 보이는데 똑같이 입력해줍니다.





6. 이제 윈도우에서 공유된 파일들이 보이고 새로운 파일 생성도 가능한 상태입니다.





반응형

포스트 작성시에는 문제 없었지만 이후 문제가 생길 수 있습니다.
댓글로 알려주시면 빠른 시일내에 답변을 드리겠습니다.

여러분의 응원으로 좋은 컨텐츠가 만들어집니다.
지금 본 내용이 도움이 되었다면 유튜브 구독 부탁드립니다. 감사합니다 : )

유튜브 구독하기


제가 쓴 책도 한번 검토해보세요.

  1. ㅁㅁㅁ 2018.11.05 16:50

    불필요 할 정도로 복잡한 방법입니다.

    • Favicon of https://webnautes.tistory.com BlogIcon webnautes 2018.11.05 17:18 신고

      윈도우와 리눅스간 공유시 많이 쓰는 방법 중 하나입니다.

      편한 방법 찾아서 쓰면 되지요.

  2. dentrx 2018.11.23 11:42

    안녕하세요 좋은글 잘보고 잘배우고 있습니다...
    그런데
    touch /media/pi/test
    touch: cannot touch '/media/pi/test': 허가 거부
    라고뜹니다.. 뭐가잘못된건가요...??

    • Favicon of https://webnautes.tistory.com BlogIcon webnautes 2018.11.23 18:52 신고

      해당 디렉토리 접근 권한이 없어서 그렇습니다.

      혹시 포스팅 앞쪽에 있는 다음 명령을 했나요?

      pi@raspberrypi:~ $ sudo chmod 777 /media/pi

  3. june 2019.03.20 23:54

    Connection to june-pc failed (Error NT_STATUS_UNSUCCESSFUL)
    패스워드 입력 후 이런 에러 메세지가 발생해서 접솝이 안됩니다..

    • Favicon of https://webnautes.tistory.com BlogIcon webnautes 2019.03.21 00:12 신고

      /etc/samba/smb.conf 파일에 다음 한줄을 추가한 후
      client max protocol = NT1


      삼바 데몬을 재시작해보세요.
      sudo /etc/init.d/samba restart

  4. CCP9999 2019.07.02 01:26

    안녕하세요 자세한 공유방법 감사합니다.

    같은 환경은 아니지만 따라하다가 에러가 나서 그런데 여쭤봐도 될련지요,,?

    윈도우에서 VMware를 통해 우분투를 깔고 위와 같은 방법으로 우분투에서 윈도우 공유폴더로 접속했습니다.

    여기까진 괜찮았는데, 지금까지 네트워크 설정이 NAT 방식이었습니다.

    VM에 깔리 우분투를 외부에서 접속가능케 하고자 네트워크 방식을 Bridge 방식으로 바꾸니

    mount error(115) : Operation now in progress
    Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)

    라는 메세지가 뜨면서 공유폴더 마운트가 안됩니다...

    왜그러는지, 그리고 어떻게 고치는지 혹시 아시는지요?

    • Favicon of https://webnautes.tistory.com BlogIcon webnautes 2019.07.02 07:29 신고

      검색해보니 아래 링크에 해결 방법이 있네요..


      https://superuser.com/questions/430163/cifs-share-mount-errors

  5. Gafangi 2019.07.30 16:34

    안녕하세요. 좋은글 잘보고 있습니다.

    하나 궁금한 사항이 있어서 여쭈어 보는데

    제가 Raspberry Pi 에서 Python으로 Sensor 값을 측정하고 그 측정 값을 txt, png로 저장하도록 프로그래밍 했습니다.

    이 파일들을 공유 폴더에 자동 저장되게 해서 어플을 만들 때 이 파일들을 참조하고 싶습니다.

    공유 폴더 한번 설정해 놓으면 태블릿을 껏다가 켜도 아무런 설정 없이 태블릿에서 이 공유 폴더에 있는 파일들을 참조 가능할까요?

    • Gafangi 2019.07.30 16:35

      참고로 png 파일은 센서값들을 그래프화 한것입니다.

    • Favicon of https://webnautes.tistory.com BlogIcon webnautes 2019.07.30 20:00 신고

      재부팅할때마다 실행되도록 bashrc에 mount 명령을 추가해주거나 fstab에 마운트 옵션을 추가해줘야 합니다.

    • Gafangi 2019.07.31 09:10

      감사합니다.

+ Recent posts