반응형

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




SMB (Server Message Block) 

윈도우가 설치된 컴퓨터가 파일 공유, 프린터 같은 리소스에 연결하는데 사용합니다. 

Samba는 SMB 프로토콜을 리눅스에서 구현한 것입니다.

윈도우와 리눅스가 설치된 컴퓨터 사이에 파일과 프린터 정보를 전송할 수 있도록 해줍니다.

 

2014.  7.  16  최초작성

2021. 11. 13 최종작성





1. 윈도우에서 공유 폴더 만들기

 

2. Samba 설치 및 설정

 

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

 

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





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. Samba 설치 및 설정

 

1. samba 패키지를 설치합니다.

 

$ sudo apt-get update

$ sudo apt-get install samba



2. 홈 디렉토리에 공유할 디렉토리를 생성합니다.

 

$ mkdir ~/sambashare/



3. 공유할 디렉토리에 대한 설정을 추가합니다.

 

$ sudo nano /etc/samba/smb.conf



마지막줄에 다음 내용을 추가합니다. username은 사용자 이름으로 바꾸세요

 

[sambashare]

    comment = Samba on Ubuntu

    path = /home/username/sambashare

    read only = no

    browsable = yes

    public = no



Ctrl + O 눌러 파일을 저장후, Ctrl-X 눌러 nano를 종료합니다.



4. 설정을 적용하기 위해 삼바 서비스 재시작합니다.

 

$ sudo service smbd restart



방어벽을 사용중인 경우  규칙을 추가합니다. 

 

sudo ufw allow samba



5. samba를 위한 계정을 추가합니다. 이 계정을 사용하여 외부에서 공유 폴더에 접근합니다. 

username은 사용자 이름으로 바꾸세요.

 

$ sudo smbpasswd -a username




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

1. Ubuntu에서 공유한 폴더에 파일을 하나 생성해둡니다.

 

$ touch ~/sambashare/test



ifconfig 명령을 사용하여 Ubuntu가 사용하는 IP를 확인합니다. 

 



 

2. 윈도우의 탐색기에 Ubuntu의 IP를 다음 형식으로 입력합니다. 

 

\\Ubuntu의 IP

 




3. Ubuntu에서 공유한 디렉토리가 보입니다. 

 





4. 해당 디렉토리로 이동하면 Ubuntu에서 생성했던 파일이 보입니다. 

 




5. 이 디렉토리에 파일을 하나 생성해보면 

 




Ubuntu에서 해당 파일이 보입니다.

 




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

 

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

 

$ sudo apt-get install smbclient




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

 

$ sudo mkdir /media/windows





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

 

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



컴퓨터 이름으로 할때 다음과 같은 에러가 발생한 경우에는

 

webnautes@webnautes-VirtualBox:~$ sudo smbclient -L webnautes-laptop -U webnautes

do_connect: Connection to webnautes-laptop failed (Error NT_STATUS_UNSUCCESSFUL)



다음처럼 IP를 사용하여 진행하세요. 

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

 

webnautes@webnautes-VirtualBox:~$ sudo smbclient -L 172.20.10.2 -U webnautes

Enter WORKGROUP\webnautes's password: 

 

Sharename       Type      Comment

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

ADMIN$          Disk      원격 관리

C$              Disk      기본 공유

D$              Disk      기본 공유

IPC$            IPC       원격 IPC

공유폴더    Disk      

SMB1 disabled -- no workgroup available



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

 

$ sudo apt-get install cifs-utils




4. 다음처럼 윈도우 폴더를 마운트합니다. 컴퓨터 이름이 안되는 경우 IP를 사용하세요.

참고로 WSL에선 이 방법으로 안됩니다. 

 

$ sudo mount -t cifs -o user=사용자이름,file_mode=0777,dir_mode=0777 //컴퓨터이름/공유폴더이름   Ubuntu에서 마운트할 경로




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

 

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

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

webnautes@webnautes-VirtualBox:~$ 




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

“1. 윈도우에서 공유 폴더 만들기”  마지막에 나온대로 SMB 1.0을 설치해주세요. 

 

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

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

mount error(112): Host is down

Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)




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

 

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

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

mount error(13): Permission denied

Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)




6. 윈도우의 공유폴더에 파일을 생성해주고

 

$ touch /media/windows/테스트




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

 




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

 

webnautes@webnautes-VirtualBox:~$ sudo umount /media/windows  



 












반응형

문제 발생시 지나치지 마시고 댓글 남겨주시면 가능한 빨리 답장드립니다.

도움이 되셨다면 토스아이디로 후원해주세요.
https://toss.me/momo2024


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

+ Recent posts