ubuntu samba 설정 하여 윈도우에서 파일 접근하기
ubuntu 를 설치한 PC를 가지고 있다면, 윈도우에서 리눅스 파일시스템을 접근 하고싶을 때가 있습니다.
ftp등을 이용해도 되겠지만, samba를 이용하면 탐색기를 통해 친숙한 화면으로 리눅스 파일 시스템에 접근할 수 있습니다.
0. 준비 사항
- Ubuntu PC
- 윈도우 PC
- Ubuntu와 윈도우 PC 는 동일 네트워크 이용 (공유기)
1. Ubuntu 에 samba 설치
먼저 samba를 설치합니다.
apt 를 통해 release 버전을 설치하시면 됩니다.
$ sudo apt-get update
$ sudo apt install samba
2. 공유 폴더 설정
윈도우에서 접근할 공유 폴더를 설정해야 합니다.
$ sudo vi /etc/samba/smb.conf
smb.conf 파일 하단에 아래처럼 공유할 폴더를 지정합니다.
[home] # 접근 할 이름
comment = home # 보여질 폴더 이름
path = /home/inasie # 공유할 폴더
read only = no # 수정을 못하게 하려면 yes
valid users = inasie # 공유폴더에 접근가능한 user 목록(samba user)
create mask = 0600 # 파일 생성 시 mask
directory mask = 0700 # 폴더 생성 시 mask
3. user 설정
위에 conf에 추가한 user를 samba에 등록해야 합니다.
완전히 별도의 user를 추가할 수도 있겠지만, ubuntu user와 이름을 맞추면 해당 user의 권한으로 파일 접근이 가능하기 때문에 user를 맞추는 것이 좋습니다.
$ sudo smbpasswd -a inasie # sudo smbpasswd -a {user}
New SMB password: # password 입력 (나중에 윈도우에서 접근 시 입력할 password)
Retype new SMB password: # 위에서 입력한 password 한번 더 입력
4. samba daemon 재시작
2,3 번에서 작성한 내용들을 적용하기 위해 samba daemon 을 재시작합니다.
$ sudo /etc/init.d/smbd restart
[ ok ] Restarting smbd (via systemctl): smbd.service.
5. 윈도우 에서 폴더 접근
윈도우에서 접근하기에 앞서 우분투 IP를 확인합니다. (동일한 공유기에 물려있다고 가정)
IPv4 주소를 확인합니다. (여기서는 192.168.1.250)
$ ifconfig
wlp1s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.1.250 netmask 255.255.255.0 broadcast 192.168.1.255
inet6 fe80::43e0:56ff:9f9d:50bf prefixlen 64 scopeid 0x20<link>
ether a4:02:b9:43:d6:81 txqueuelen 1000 (Ethernet)
RX packets 3303414 bytes 2349956602 (2.3 GB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 2812393 bytes 458317774 (458.3 MB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
윈도우 탐색기를 열고 컴퓨터 -> 네트워크 드라이브 연결 을 선택합니다.
\\192.168.1.250\home 을 입력합니다. (\\IPv4주소\이름)
3번에서 추가한 user/password를 입력하면 폴더에 접근됩니다.
부록. 알려진 오류
ubuntu 16.04 를 설치하자마자 samba 설정을 하고나서 폴더 접근이 안되는 경우가 있습니다.
이것은 16.04 release버전에 들어간 samba의 문제로, ubuntu 패키지를 업데이트 하면 문제가 없습니다.
$ sudo apt-get update
$ sudo apt-get upgrade