Linux

우분투 삼바 (samba) 설정

raulyo 2014. 6. 5. 13:36

오늘은 우분투 12.04 LTS 버전에서 삼바 서버 구축하는 방법에 대해 포스팅을 하도록 하겠습니다.


삼바란, 우분투 - 윈도우간 공유폴더 역할을 해 줄 수 있는 서버를 말하는데요.

저 처럼 데스크탑에는 윈도우, 노트북에는 우분투를 설치하여 사용하는 사용자들에겐 아주 편리한 시스템입니다! (저는 또한 데스크탑-노트북간 마우스,키보드를 공유하는 Synergy라는 프로그램을 이용해서 마치 듀얼모니터인냥 사용하고 있습니다. 시너지에 대한 내용도 차후 포스팅 하겠습니다!)


당연한 얘기겠지만 우선은 같은 네트워크 안에 있어야 가능하구요 (ex. 같은 공유기 내에서 연결)


1. 패키지 설치

samba에 필요한 패키지를 먼저 설치 해 주도록 합시다.

$ sudo apt-get install samba smbfs

위 패키지가 설치 되었다면 설정을 하도록 하겠습니다.


2. samba 설정

$ sudo vi /etc/samba/smb.conf

위 의 smb.conf 파일을 찾아서 들어가서 맨 아래쪽에 다음과 같은 내용을 추가합니다.


위에서부터 하나씩 설명을 드리자면 다음과 같습니다.

338: 원하는 이름을 [] 안에 입력합니다. 사용중인 계정이름으로 맞춰주는 것을 추천해드립니다.

339: comment 를 입력합니다.

340: 절대 경로를 입력합니다. (samba라는 폴더도 만들어 주셔야합니다.)

341: samba user명을 기입합니다. (그냥 사용중인 계정이름을 입력하시면 됩니다.)

342: 공용 samba로의 사용 옵션입니다. (yes/no)

343: 삼바서버에 접근하는 쪽에서(윈도우에서) 파일 쓰기도 허용할지에 대한 옵션입니다. (yes/no)

파일 쓰기를 원치않으시면 read only = yes 옵션을 주시면 됩니다.


3. samba user 생성

위의 valid users 에서 입력한 samba user를 생성할 차례입니다.

$ sudo smbpasswd -a [유저명]

위 명령어를 입력하면 패스워드 입력받도록 나옵니다. 자신이 원하는 패스워드를 입력하도록 합시다!


4. samba server restart

$ sudo service smbd restart

위 명령어를 통해 samba server를 리스타트 해줍니다!


여기까지 따라오셨으면 우분투에서의 samba server 설치는 끝났습니다!

이제 윈도우에서의 접근 방법을 알아볼텐데요~


제가 아직 xp를 쓰고있어서 xp기준으로 먼저 말씀드리겠습니다. (윈7과도 큰 차이는 없습니다.)


일단 제 우분투의 IP address 입니다. 저 주소를 잘 기억하고 실행창에 다음과 같은 명령어를 입력합니다.



공유기 아래에 리눅스 기계 2대의 경우 서로의 삼바 서버를 마운트 하는 방법입니다.

그냥 외장하드를 다른 곳에 마운트하면 되지만,

기존의 설정이라든지 여러가지 물려있는 경우가 많기 때문에

특정 폴더만 메인 웹서버에 마운트하면 작업하기가 더 편하겠죠.

저의 경우는 오드로이드의 CPU가 워낙 강력하기 때문에 ajaxplore 같은 CPU소모량이 많은

프로그램을 돌리고, 외장하드는 포고에 붙은 것을 삼바클라이언트로 마운트하여 쓸 계획입니다.


우선 서버과 클라이언트의 역할을 정해야겠죠.

서버는 말 그대로 파일 서버, 즉 파일을 가지고 있는 쪽입니다.

위의 도식도에선 포고플러그가 그 역할을 하구요.

클라이언트는 파일을 요청하는 쪽입니다.

오드로이드가 그 역할을 하겠습니다.


우선 삼바 서버의 역할을 할 포고에서 할 일을 생각해봅시다.

기존의 삼바 설정을 보면

nano /etc/samba/smb.conf

에서 

[smb]
comment = samba 네트워크 연결 테스트용 서버
path = /media/FTP/Drama
valid users = smb
read only = yes
public = yes
writeable = yes
이렇게 되어 있습니다.

즉 삼바서버의 이름이 smb이고, 설명은 samba 네트워크 연결 테스트용 서버 이렇게 나오구요
파일의 위치는 /medua/FTP/Drama 이고
유효한 사용자는 smb 라는 ID를 가진 계정이고, 읽을 수 있고, 개방되어 있고, 쓸 수 있다.

이 정도로 해석 가능합니다. 

참고로 위에 있는 smb는 삼바 서버의 이름이고, 밑의 smb는 삼바서버의 계정입니다.

보통 같게 쓰지만, 다르게 쓰시는 분은 잘 구분하셔야 됩니다.

그리고 smb라는 계정의 비밀번호는 아시겠지요?

마지막으로 삼바서버의 내부IP 주소를 알아야 합니다.

보통 공유기에서 MAC주소에 따라 IP를 고정시키는 작업을 미리 해둡니다만

혹시 안되어 있다면 꼭 하시는게 좋습니다.

서버에서의 설정 및 알아두어야 할 사항은 이게 끝이구요.


이제 삼바 클라이언트 쪽을 보겠습니다.

오드로이드에 클라이언트 및 전송을 위한 패키지를 설치합니다.

전 우분투인데, 아마 데비안도 같은 패키지를 이용할 것 같습니다.

apt-get install smbclient cifs-utils
클라이언트 쪽에서 삼바서버 쪽을 볼 수 있습니다.

smbclient -L 192.168.1.30 -U%   
위의 명령어를 통해서

삼바 클라이언트인 오드로이드에서 삼바 서버인 포고를 봤습니다.

Domain=[WORKGROUP] OS=[Unix] Server=[Samba 3.6.6]

        Sharename       Type      Comment
        ---------       ----      -------
        print$          Disk      Printer Drivers
        media           Disk      포고플러그에서 동작하는 삼바서버입니다
        WD              Disk      WDTV를 위한 삼바서버입니다.
        smb         Disk    samba 네트워크 연결 테스트용 서버
        IPC$            IPC       IPC Service (comta server)

Domain=[WORKGROUP] OS=[Unix] Server=[Samba 3.6.6]

        Server               Comment
        ---------            -------
        COMTA                comta server

        Workgroup            Master
        ---------  
보면 서버 이름이 COMTA 이고 우리가 원하는 smb라는 삼바서버의 이름이 나옵니다.

이제 오드로이드에서 포고의 smb 삼바 서버를 마운트합니다.

mount -t cifs //COMTA/smb /test -o user=smb,password=비밀번호적기,workgroup=WORKGROUP,ip=192.168.1.30,iocharset=utf8
저는 루트에 있는 /test라는 폴더에 마운트 해줬습니다.

빨간 부분은 필요에 따라 바꿔주셔야겠죠.

맨 뒤에 utf8을 적어줘야 한글 출력 잘 됩니다.

이제 /test폴더에 보면 삼바서버의 폴더들이 잘 들어와 있는 것을 확인할 수 있습니다.


그런데 재부팅을 하게 되면 자동 해제되는데요.

부팅 할때마다 일일이 쳐줄 수도 없는 노릇이죠?

fstab을 이용하면 됩니다.

nano /etc/fstab
에서 한줄만 추가하면 됩니다.

//192.168.1.30/smb /test cifs defaults,username=smb,pass=비밀번호적기,iocharset=utf8 0 0
위의 빨간 부분은 자체적으로 바꿔주시면 됩니다.

이제 재부팅해도 /test 폴더 안에 마운트 되어 있는 것을 확인할 수 있습니다.