Google AdSense (text)

hidden logo stop

Moving

거지 같은 이글루스 광고노출 정책이 싫어서,
새 보금자리(http://blog.leocat.kr/)로 이사감.

[Linux] samba 설치 및 설정 (samba 3.6.3) Computer & Program

처음 설치해 보는 samba.. 구글링해서 나오는 설정 방법들은 다들 예전 방법인지 잘 되지 않는 부분이 있어서 기록해 둔다. 지금 버전은 samba3이다. 프린터 공유와 같은 기능까지는 아니지만, 일단 파일 공유까지는 가능.. 권한 설정부터 하루 종일 삽질만 했다. TㅅT

설치한 samba는 3.6.3. 버전이고, apt-get을 통해서 받았다.


1. samba를 설치한다.
$ sudo apt-get install samba


2. samba 설정
기본 설정에서 변경되거나 중요하다고 생각되는 부분만 적었다.
$ sudo vi /etc/samba/smb.conf

# samba 전체 설정이다. - default로 주석처리가 되어 있으므로 풀어서 사용하면 된다.
[global]
# Windows와 연결하려면 workgroup 이름을 맞추라고 한다.
   workgroup = WORKGROUP
# 서버의 사용자 계정만 사용할 수 있도록 한다.
   security = user


# [homes] 영역을 수정하면, 사용자 계정을 통해서 자기 홈 경로를 접근할 수 있다. 접근 경로는 \\server\username 이다.
[homes]
   comment = Home Directories
# yes로 설정하면 접속 권한이 없어도 같은 네트웍에 있는 모든 컴터에서 폴더를 볼 수 있다. - browseable에 대해서는 맨 아래부분에 설명
   browseable = no
# 읽기전용으로 할 것인지 여부. 기존 버전에는 writeable 또는 writable로 설정이 있었던 것 같은데 지금은 read only를 사용하는듯 싶다.
   read only = no
# 생성되는 파일 권한
   create mask = 0664
# 생성되는 폴더 권한
   directory mask = 0755
# home 계정은 일반적으로 모든 사용자가 접근 가능하다. %S로 설정해 주면 username 사용자만이 \\server\username을 사용할 수 있게 할 수 있다.
   valid users = %S


# 여러 사용자가 함께 사용할 수 있는 공유 폴더 설정이다. '[]'안에 접속할 경로를 설정해준다. 아래처럼 '[share]'를 사용하면 '\\server\share'로 접속하면 된다. 이름은 원하는대로 지으면 된다.
# 이 부분은 설정 파일에 존재하지 않으므로 적당한 위치에 내용 전체를 추가해 주면 된다.
# 사용자간 공유할 필요가 없으면 생략해도 된다.
[share]
   comment = Shared Files
# 실제 파일이 저장될 공간으로, 설정이 끝나고 폴더를 생성해 주어야 한다.
   path = /data/samba/share
# no로 해도 무관 - browseable에 대해서는 맨 아래부분에 설명
   browseable = yes
   read only = no
   create mask = 0664
   directory mask = 0755
# Anonymous로 접속 가능하게 하려면 아래 주석을 풀어준다. 이 때는 read only가 좋겠지..??
#   guest ok = yes


3. 공유 폴더 생성
공유할 폴더를 생성하고, sambashare 그룹에서 사용할 수 있도록 owner를 변경해 준다. 사용자간 공유할 필요가 없으면 생략해도 된다.
$ sudo mkdir -p /data/samba/share
$ sudo chown nobody.sambashare /data/samba/share


4. samba 비밀번호 설정
samba 계정이 사용할 비밀번호를 설정한다. 시스템에 등록된 사용자만 samba 사용자로 추가가 가능하다. 시스템 비밀번호 유출을 막기 위해 다른 비밀번호를 설정하고 사용하는 것이 좋다.
$ sudo smbpasswd -a <username>
New SMB password:
Retype new SMB password:
Added user <username>.

$ sudo smbpasswd -a notExists
New SMB password:
Retype new SMB password:
Failed to add entry for user notExists.


5. 공유 폴더 접근 사용자 권한 추가
공유 폴더에 접근하기 위해 사용자의 그룹에 sambashare 그룹을 추가해 준다.
$ id user1
uid=1001(user1) gid=1001(user1) groups=1001(user1)
$ sudo usermod -a -G sambashare user1
$ id user1
uid=1001(user1) gid=1001(user1) groups=1001(user1), 127(sambashare)


6. samba 프로세스 시작
smbd는 samba 데몬이고, nmbd는 NetBIOS 이름을 IP 대신 사용할 수 있도록 하는 데몬이다. IP로 접근해서 사용한다면 nmbd는 실행시킬 필요 없다.
$ sudo restart smbd
$ sudo restart nmbd


7. 접속
7.1. Windows - 네트워크 드라이브 연결

탐색기에서 '컴퓨터'로 이동한다. 상단에 있는 '네트워크 드라이브 연결'을 클릭하면 접속할 서버와 드라이브명을 설정할 수 있다. nmbd를 실행시켰다면 IP 대신 NetBIOS 이름을 사용할 수 있다. 재부팅 없이 이전에 접속했던 아이디와 다른 아이디로 접속하고 싶다면 '다른 자격 증명을 사용해서 연결'을 체크한다. (예를 들어, 같은 경로를 user1로 접속했다가 user2로 접속하고 싶은 경우)

접속이 성공하면 아래와 같이 드라이브가 추가된다.


7.2. MacOS - Finder에 mount
MacOS의 파인터를 실행시킨다. 시스템 메뉴에서 '이동' -> '서버에 연결...'을 선택하거나 단축키 'Cmd + K'를 누르면 아래와 같은 연결 창이 뜬다. 접속할 서버 주소를 적어주면 된다. 주소 형식은 조금 다른 'smb://server/username'이다.

사용자 계정 정보를 넣고 로그인을 하게 되면 아래와 같이 마운트 된다.




- 기타 설명
smb.conf 설정에서 browseable = yes로 설정하는 경우 로그인 하지 않아 접속 권한이 없는 경우에도 아래처럼 탐색이 가능하다.



- 참고
Samba File Server
Samba/SambaServerGuide - Community Ubuntu Documentation
Install Samba Server on Ubuntu
Share Ubuntu Home Directories using Samba
Ubuntu Linux: Add a User To Group
nmbd

덧글

  • 답변부탁드립니다 2013/06/08 16:24 # 삭제 답글

    여러 블로그 들을 보고

    vi /etc/samba/smb.conf
    명령어를 사용하여 삼바 설정을 하는 과정에 있는데요



    읽기만 가능하여 설정을 변경할 수 없다고 하는데요



    저는 다른 사람들과 공유할 목적으로 삼바 설치하는게 아니라 단순히 푸티에서 생성한 파일을 가져오고 싶어서 하는 것인데

    단순한 설정을 어떻게 해야하는지 모르겠습니다. ...


  • Sigel 2013/06/10 09:47 #

    smb.conf 파일을 변경할 수 없다고 하는건 파일을 수정할 권한이 없어서인 것 같습니다. samba를 default로 설치하면 /etc/samba/smb.conf 파일은 root만 읽기과 수정이 가능하고 다른 사용자나 그룹은 읽기만 가능합니다.

    때문에 root로 로그인을 하거나, vi 명령어 앞에 sudo를 써줘서 root 권한으로 파일을 수정해야 합니다.
    $su -
    로 root로 로그인 하거나 아래처럼 sudo 명령을 이용해서 root 권한으로 파일을 수정하세요. (root 비밀번호 필요)
    $ sudo vi /etc/samba/smb.conf
  • djdEndwnl 2016/06/03 14:26 # 삭제 답글

    좋은 글 감사합니다!
댓글 입력 영역

Google AdSense (text/image)