반응형

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





1. 윈도우 컴퓨터 준비

 

2. Raspberry Pi 준비

 

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

 

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




2015. 9. 24 - 최초작성

2021. 9. 19 - 최종작성



1. 윈도우 컴퓨터 준비

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

 

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

 

control /name Microsoft.NetworkAndSharingCenter

 




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

 




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

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

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



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

 






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

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

 




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

 




6. 추가를 클릭합니다.

 




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

 




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

 




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

 




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

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

 

 




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

 




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

 




제어판\프로그램\프로그램 및 기능 에서 Windows 기능 켜기/끄기를 선택합니다.

SMB 1.0/CIFS 파일 공유 지원을 체크합니다.

재부팅이 필요합니다.

 



컴퓨터 이름을 사용하기 쉬운 것으로 변경하고 윈도우 계정에 패스워드를 추가해야 합니다.



2. Raspberry Pi 준비

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



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

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

 

$ sudo apt-get update 

$ sudo apt-get upgrade




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

 

$ sudo apt-get install samba samba-common 



설치중 다음 화면이 보이면  No를 선택하고 엔터를 누릅니다.

 



다음과 같은 에러 메시지가 보이는데 무시하세요.

 

Done

Setting up samba (2:4.9.5+dfsg-5+deb10u1+rpi1) ...

Samba is not being run as an AD Domain Controller: Masking samba-ad-dc.service

Please ignore the following error about deb-systemd-helper not finding those services.

(samba-ad-dc.service masked)

Created symlink /etc/systemd/system/multi-user.target.wants/nmbd.service → /lib/systemd/system/nmbd.service.

Failed to preset unit: Unit file /etc/systemd/system/samba-ad-dc.service is masked.

/usr/bin/deb-systemd-helper: error: systemctl preset failed on samba-ad-dc.service: No such file or directory

Created symlink /etc/systemd/system/multi-user.target.wants/smbd.service → /lib/systemd/system/smbd.service.

Processing triggers for systemd (241-7~deb10u8+rpi1) ...

Processing triggers for man-db (2.8.5-2) ...

Processing triggers for libc-bin (2.28-10+rpt2+rpi1) ...




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

 

$ sudo mkdir /media/pi

$ sudo chmod 777 /media/pi




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

 

$ sudo nano /etc/samba/smb.conf



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

맨 위에 [] 안에 보이는 raspberrypi가 윈도우에서 보이는 공유폴더 이름입니다. 

path가 공유되는 폴더 위치입니다.

 

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

   

 

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

 

$ sudo systemctl restart smbd



삼바 계정 패스워드를 생성합니다. 아이디는 pi로 하고 있습니다.

윈도우에서 라즈베리파이의 공유 폴더에 접근시 물어보는 아이디와 패스워드입니다.

 

$ sudo smbpasswd -a pi

New SMB password:

Retype new SMB password:

Added user pi.




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

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

 

$ touch /media/pi/test



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

 




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

 




에러가 나는 경우 라즈베리파이의 IP를 입력합니다. 

 




3. 삼바에서 설정한 raspberrypi 폴더가 보입니다. 

 



폴더를 클릭하면 삼바 계정을 물어봅니다. 2-4에서 설정한 대로 입력하고 내 자격 증명 기억을 체크한 후, 확인 버튼을 클릭합니다. 

 




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

 




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

 




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

 




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

 

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

 

$ sudo apt-get install smbclient




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

 

$ sudo mkdir /media/windows




2. -L 다음에 윈도우 컴퓨터의 이름을 적고, -U 다음에 윈도우 컴퓨터 사용자 계정 이름을 적습니다. 엔터를 누르면 보이는 Enter WORKGROUP\사용자이름’s password : 에서 윈도우 사용자의 비밀번호를 입력해줘야 합니다.

 

윈도우 사용자에 아이디가 부여되어 있어야 진행가능합니다. 



윈도우에서 생성해둔 공유폴더가 보입니다. 여기에선 공유폴더 이름이 공유폴더입니다.

 

$ sudo smbclient -L webnautes-pc -U webnautes

Enter WORKGROUP\webnautes's password:

 

        Sharename       Type      Comment

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

        ADMIN$          Disk      원격 관리

        C$              Disk      기본 공유

        D$              Disk      기본 공유

        IPC$            IPC       원격 IPC

        공유폴더    Disk

Reconnecting with SMB1 for workgroup listing.

 

        Server               Comment

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

 

        Workgroup            Master

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




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

 

$ sudo apt-get install cifs-utils




4. 다음처럼 윈도우 폴더를 마운트합니다.

 

$ sudo mount -t cifs -o user=webnautes,file_mode=0777,dir_mode=0777 //컴퓨터이름/공유폴더이름   라즈베리파이에 공유할 위치



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

 

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



정상적으로 진행되었다면 윈도우 계정 패스워드를 물어봅니다. 

 

pi@raspberrypi:~ $ sudo mount -t cifs -o user=webnautes,file_mode=0777,dir_mode=0777 //192.168.25.5/공유폴더 /media/windows

Password for webnautes@//192.168.25.5/공유폴더:  **************

pi@raspberrypi:~ $ 



윈도우 10에 SMB 1.0을 설치 안해주었다면 다음과 같은 에러가 발생합니다. 

“1. 윈도우 컴퓨터 준비” 마지막에 나온대로 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)



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

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. 윈도우의 공유폴더에 파일을 생성해주고

 

$ touch /media/windows/테스트




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

 




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

 

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

 



반응형

해본 것을 문서화하여 기록합니다.


포스트 작성시에는 문제 없었지만 이후 문제가 생길 수 있습니다.
질문을 남겨주면 가능한 빨리 답변드립니다.


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

  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기

댓글을 달아 주세요

">
  1. thumbnail
    ㅁㅁㅁ
    2018.11.05 16:50

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

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

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

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

  2. thumbnail
    dentrx
    2018.11.23 11:42

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

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

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

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

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

  3. thumbnail
    june
    2019.03.20 23:54

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

    • thumbnail
      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. thumbnail
    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)

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

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

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

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


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

  5. thumbnail
    Gafangi
    2019.07.30 16:34

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

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

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

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

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

    • thumbnail
      Gafangi
      2019.07.30 16:35

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

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

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

    • thumbnail
      Gafangi
      2019.07.31 09:10

      감사합니다.