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
'개발 환경 > Ubuntu 설치 및 활용' 카테고리의 다른 글
Google Chrome 웹브라우저를 Ubuntu Server Arm64에는 설치 못하는 걸까 (0) | 2023.10.16 |
---|---|
Ubuntu 20.04에서 NVIDIA SDK Manager 사용하기 (0) | 2023.10.15 |
Ubuntu에서 현재 디렉토리의 디스크 사용량 확인하기 (0) | 2023.10.13 |
우분투 데스크탑이 멈추었을때 대처 방법 (0) | 2023.10.13 |
Ubuntu 22.04의 독(Dock)을 Mac OS처럼 화면 아래에 보이게 하기 (0) | 2023.10.12 |
시간날때마다 틈틈이 이것저것 해보며 블로그에 글을 남깁니다.
블로그의 문서는 종종 최신 버전으로 업데이트됩니다.
여유 시간이 날때 진행하는 거라 언제 진행될지는 알 수 없습니다.
영화,책, 생각등을 올리는 블로그도 운영하고 있습니다.
https://freewriting2024.tistory.com
제가 쓴 책도 한번 검토해보세요 ^^
그렇게 천천히 걸으면서도 그렇게 빨리 앞으로 나갈 수 있다는 건.
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!