Linux Ubuntu 16.04.2 LTS samba(삼바서버) 설치 해보기 (1)

2019. 3. 26. 10:39 OS/Ubuntu Linux

0. samba 설치되어있는지 확인

    $ sudo dpkg -l |grep samba


1. Samba 설치

 
    $ sudo apt-get install samba smbfs 


2.1. 시스템 사용자 등록(useradd) 및 패스워드 등록 (passwd)

 ※  samba 접속용 계정과 비밀번호 설정을 하기 전에 반드시 시스템 사용자를 등록 해줘야하는 절차를 거쳐야한다.

    $ sudo useradd chpark    

    $ sudo passwd chpark     

    Changing password for user chpark 

    New UNIX password:  패스워드입력 

    Retype new UNIX password:  패스워드확인 

    passwd: all authentication tokens updated successfully. 


2.1.1 계정관련 파일 확인

    $ sudo cat /etc/passwd  

2.1.2 계정관련 확인 (해당 id)

    $ sudo id chpark 


2.2. 공유할 디렉토리에 Samba  접속용 계정과 비밀번호 설정

    $ sudo smbpasswd -a chpark 

    New SMB password:  패스워드입력 

    Retype new SMB password:  패스워드확인 


==========================================================

/etc/samba/smb.conf 파일을 설정하기 전에  백업시켜놓자. (설정파일 매우 중요하므로)

# mkdir /chpark/data/bakup

# cp smb.conf  /chpark/data/backup

# cd /chpark/data/backup

# mv smb.conf smb.conf.bak

==========================================================


3. 공유 폴더 생성 및 권한 설정

3.1 (공유할) 디렉터리 생성

    $ sudo mkdir -p /srv/samba/share 

3.2 디렉터리 권한 설정 (change owner)

    $ sudo chown nobody:nogroup /srv/samba/share/ 



4. smb.conf 설정

    $ sudo vi /etc/samba/smb.conf 



#======================= Global Settings =======================

[global]

## Browsing/Identification ###

# Change this to the workgroup/NT-domain name your Samba server will part of

   workgroup = WORKGROUP

# server string is the equivalent of the NT Description field

   server string = %h server (Samba, Ubuntu)

# Windows Internet Name Serving Support Section:

# WINS Support - Tells the NMBD component of Samba to enable its WINS Server

#   wins support = no

# WINS Server - Tells the NMBD components of Samba to be a WINS Client

# Note: Samba can be either a WINS Server, or a WINS Client, but NOT both

;   wins server = w.x.y.z

;   security = user

;   encrypt passwords = yes

;   smb passwd file = /usr/bin/smbpasswd

# This will prevent nmbd to search for NetBIOS names through DNS.

   dns proxy = no

# This will allow access hosts for Using Samba Server

   hosts allow = 192.168.71.    

// 접근하는 호스트의 ip or 호스트의 네트워크대역

// 상황에 따라서 ~! 71번 네트워크 대역에 있는 호스트에 대하여 전부 허용 



#======================= Share Definitions ======================

# Shared Friles scripting_02
 [samba]
  comment = Shared File Server for using Samba Server  // Comment
  path = /srv/samba/share           // Samba로 공유할 디렉토리 경로 (절대경로)
  guest ok = no                         // yes: 모두 접근 가능(samba 계정은 있어야 함)
  create mask = 0777                  // 새로운 파일이 생성되었을 때 가지게 될 파일 권한을 지정                           
  directory mask = 0777              // 디렉터리의 권한을 지정
  browseable = yes                     // 공유이름을 브라우저에 표시할 수 있게 하는 기능                              
;  public = yes                           // guest ok와 같은 옵션으로 no로 설정하면 
// 다른 사용자들은 이용할 수 없고 개인 사용자만 사용할 수 있게 된다
  readonly = no                         // (= writable : yes)
  host allow = 192.168.71.            // 접속을 허용할 IP 네트워크대역
  valid users = chpark                 // guest ok : no를 줄 경우 접근할 수 있는 사용자에 대하여 지정
                                             // 그룹일경우 반드시 @(앳)을 꼭 붙여야한다.

※ valid users가 없고 guest ok = yes  혹은 public = yes 일 경우에 
모든 samba 계정을 가지고 있는 사용자들이 접근 가능하다.
결론적으로 valid users가 key 가 되는 property이다. 

5. smb.conf 설정 후 반드시 데몬을 재시작해야 설정파일이 반영된다.

    $ sudo /etc/init.d/smbd restart 

    or 

    $ sudo /etc/init.d/smbd stop 후에 $ /etc/init.d/smbd start 



출처: https://sourceflower.tistory.com/87?category=613435 [소스플로우]