본문 바로가기
+ Application/Samba(SMB)

[SMB] Samba(삼바) smb.conf 설정값

by :: Teacher :: 2016. 9. 16.
728x90
반응형

Samba(삼바) 설정 변경(smb.conf) 변경 후 반드시 데몬을 재시작 해야 한다.

===================== Global Settings =====================

# 윈도우의 작업 그룹에 해당

# 삼바 서버와 클라이언트의 작업 그룹 명은 반드시 일치해야 한다.

workgroup = 작업 그룹 명

# Samba 서버의 네트워크 명

# 윈도우 네트워크 환경에서 보여줄 삼바 서버에 대한 설명

server string = Samba Server

# 삼바 서버에 접속을 허용할 IP 지정.

# IP주소 또는 네트워크/넷마스크 형태로도 지정할 수 있다.

hosts allow = 192.168.1. 127. 

--> 192.168.1.0 네트워크에 속한 모든 호스트들과 로컬 시스템(127.0.0.1)만 허용

hosts allow = 192.168.1. except 192.168.1.100  192.168.1.101 

--> 192.168.1.100번과 101번을 제외한 192.168.1의 모든 호스트들은 접속 허용

hosts allow = 192.168.1.0/255.255.255.0

--> 192.168.1.0 네트워크에 속한 모든 사용자들을 허용하고 넷마스크를 병용하여 사용

hosts allow = wow19, wow20

--> wow19와 wow20라는 호스트들만 서버 접속 허용

#서버에 의해 사용되는 printcap name을 겹쳐쓰기 하고자 할 때, 그 위치를 지정

printcap name = /etc/printcap

# 삼버 서버의 printcap에 정의된 모든 프린터 목록을 자동적으로 로딩되게 할 것인가를 지정

# 네트워크 프린터를 삼바 서버에 연결하여 사용하고자 한다면 선택해야 한다. 

load printers = yes

# 현재 사용하는 프린터 시스템 종류 지정

# 비표준 프린터 시스템이 아니면 지정할 필요가 없다.

printing = lprng

# 공유 설정 섹션에서 사용되는 항목으로 guest ok로 명시되어 있는 서비스에 접근할 수 있는 유저 명을 지정

# 유저 명은 /etc/passwd에 등록 되어 있어야 한다.

guest account = nobody

# 삼바 서버에 접속하는 호스트의 접속 로그에 대한 기록을 저장하는 파일을 지정

log file = /usr/local/samba/var/%m.log

# 로그 파일 최대 크기 지정

# 제한을 두었을 경우에 이를 초과하게 되면 .old 확장자를 가진 파일로 저장되고 새로운 파일이 생성된다.

# 0으로 설정하면 파일의 크기에 제한을 두지 않는다.

max log size = 0

# 클라인언트가 삼바 서버에  접속할 때 인증 레벨을 부여하는 옵션

# user, share, server, domain 4가지 보안 모드가 있다.

# user: 

#    삼바 서버에 접속하는 클라이언트는 먼저 반드시 윈도우 시작시 사용자 명과 패스워드로 로그인을 한 후에 삼바 서버에 접속할 때 

#    같은 사용자 명으로 패스워드를 확인한 후에 접속이 이루어 진다. 리눅스 계정과 윈도우 사용자가 동일하다면 user 레벨로 설정

# share: 

#    유효한 사용자 명과 패스워드로 삼사 서버에 로그인을 하지 않아도 서버에 접속할 수 있게 하므로, 삼바 서버 인증 과정을 필요로 하지 않을 때

#    이 레벨로 지정하면 된다. 공유 디렉토리 접근에 제한을 두는 경우에 사용할 수 있다. 

#    리눅스 사용자/패스워드와 윈도우 사용자/패스워드가 다를 경우 share 레벨로 설정

# server:

#    윈도우 NT와 같은 다른 삼바 서버가 존재해야 하며, 다른 삼바 서버에 사용자 명과 패스워드를 전달하여 올바른지를 확인한다. 

#    즉, 사용자 계정의 인증 처리를 현재 시스템에서 하는 것이 아니라 SMB 프로토콜을 지원하는 다른 서버를 통해 처리하는 방식이다.

# domain 

#    윈도우 NT 서버가 있어야 가능하며, 삼바 서버가 사용자 명과 패스워드를 윈도우 NT의 도메인 컨트롤러(Domain Controller)에 

#    전달하여 유효한지 확인 하는 방법이다. 아예 Windows NT 도메인으로 삼바 서버를 참가시키는 방법을 사용한다.

security = share

# 보안 옵션에서 server나 domain 값을 설정했을 경우에 윈도우 NT같은 다른 삼바 서버의 NetBIOS 이름으로 지정한다.

password server = <NT-Server-Name>

# 패스워드 레벨과 유저 레벨을 설정하는 것으로 8개 문자를 사용하도록 설정한다.

password level = 8

username level = 8

# 삼바 서버로 하여금 마스터 브라우저가 되도록 한다.

domain master = yes

# 윈도우 계열 사용자들도 도메인 로그인 가능하게 할 것인가 지정

domain logons = yes

# 삼바 서버에 클라이언트의 접속이 이뤄지는 과정에서 인증을 위하여 암호화 패스워드 옵션을 사용할 수 있다. 

# 암호화된 패스워드를 지정하는 옵션이다.

encrypt passwords = yes

# encrypt passwords 항목과 같이 사용되는 것으로 암호화된 삼바 사용자의 아이디와 패스워드가 기록되는 파일이다. 

# 이 파일에 패스워드를 추가하는 명령은 smbpasswd이다.

smb passwd file = /etc/samba/smbpasswd

# 클라이언트 호스트에서 사용자의 패스워드를 변경할 수 있도록 해주는 옵션이다. 

# 단, 이 경우에는 encrypt password, smb passwd file 두 옵션을 반드시 사용해야 한다.

unix password sync = Yes

passwd program = /usr/bin/passwd %u

passwd chat = *New*UNIX*password* %n\n *ReType*new*UNIX*password(생략)

# 리눅스 사용자 이름과 삼바 사용자 이름이 서로 다를 경우 서로 매핑시키기 위한 사용한다.

username map = /etc/samba/smbusers

# 접속하는 각 클라이언트마다 서로 다른 설정을 사용할 수 있게 해주는 것으로 %m은 접속하는 NetBIOS 이름으로 대치된다.

include = /etc/samba/smb.conf.%m

# 사용자의 로컬 네트워크 상에서 삼바 서버가 최적의 성능을 발휘할 수 있도록 튜닝할 때 사용한다. 

# IPTOS_LOWDELAY, IPTOS_THROUGHPUT 등의 옵션이 있다.

socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192

# 삼바에 연결된 네트워크 인터페이스를 설정하는 것으로, 인터페이스는 IP/netmask 조합으로 지정할 수 있다. 

interfaces = 192.168.12.2/24 192.168.13.2/24

# 삼바 서버가 nmbd에 의해 서브넷 상에서 로컬 마스터 브라우저가 될 수 있도록 허용하는 것으로

# no라고 설정하면 nmbd 데몬은 서브넷 상에서 로컬 마스터 브라우저가 되지 않는다.

local master = no

# 삼바 서버가 브라우저 선거에 있어서 자신을 알릴 수 있는 레벨을 설정하는 것으로 

# 이 값에 의해서 nmbd 데몬이 로컬 브로드캐스트 지역에서 WORKGROUP에 대해 로컬마스터 브라우저가 될 수 있는지 결정된다. 

# 이 값을 0으로 설정하면, nmbd 데몬은 윈도우 머신에 대해서 선거권을 상실하므로 로컬마스터 브라우저가 되지 못한다. (관련문서는 BROWSING.txt)

os level = 33

# 삼바가 도메인 마스터 브라우저가 되도록 해준다. 이것은 삼바와 서브넷 간의 브라우저 리스트를 모집할 수 있게 해준다. 

# 만일 NT 도메인 컨트롤러를 가지고 있다면 이 기능을 사용해서는 안된다.

domain master = yes

# 삼바 구동시 로컬 마스터 선거를 강요하여 선거에서 이길 수 있게 보다 많은 가능성을 부여해 주는 옵션이다. 

# 이 옵션은 domain master = yes 옵션과 같이 사용하여 nmbd 데몬에 의해 도메인 마스터가 될 수 있도록 해준다.

preferred master = yes

# 삼바 서버가 WORKGROUP에 윈도우98 도메인 로그온 역할을 할 것인지의 여부를 지정한다.

domain logons = yes

# 사용자가 성공적으로 로그인을 하였을 때 다운로드하여 작동할 수 있도록 배치파일(*.bat) 또는 NT 명령 파일(.cmd)을 지시해 주는 옵션이다. 

# 배치 파일은 마지막 줄에 cr/if가 들어있어야 하므로 도스편집기에서 만드는 것을 권장한다. 

# 내용은 사용자가 임의대로 지정할 수 있다.

# 예) 보통 모든 클라이언트 머신들이 서버와 똑같은 시간에 시간을 맞추도록 할 수 있다.

# NET TIME \\SERVER /SET /YES

logon script = %m.bat

logon script = %U.bat

# 윈도우98 및 NT에서 user.dat과 같은 로우밍 프로파일(roaming profile)을 어디에 지정할 것인가를 지정해 주는 옵션이다. 

# %L은 서버의 NetBIOS이름으로 대치되고, %U는 사용자 이름으로 대치된다. 

# 이 옵션을 사용할 때 [Profile]공유 항목에서 주석을 풀어 주어야 한다.

logon path = \\%L\Profiles\%U

# 삼바 서버에서 nmbd 데몬이 wins 서버의 역할을 할 수 있는지 여부를 지정한다. 

# 만일 이 옵션을 선택하기 위해서는 반드시 다중 서브넷 네트워크를 가지고 있어야 하며, wins서버로 될 특정 nmbd 데몬이 있어야 한다.

wins support = yes

 (참고) WINS(Windows Internet Naming Service)

마이크로소프트 윈도우NT 서버의 일부인 WINS는 각 구성 변경에 수반되는 사용자 또는 관리자가 없는 IP 주소들과 컴퓨터 이름 및 위치들과의 결합을 관리한다. WINS는 컴퓨터 이름과 IP 주소를 서로 매칭시켜 데이터를 테이블 내에 자동으로 만드는데, 이 이름들은 다른 사람의 컴퓨터 이름과 중복되지 않도록 고유한 이름으로 견지한다. 컴퓨터가 다른 장소로 옮겨지면, IP 주소의 서브넷 부분이 변경될 수 있다. WINS를 사용하면 새로운 서브넷 정보가 WINS 테이블 내에서 자동으로 갱신된다. WINS는 어떤 컴퓨터가 네트워크에 처음 정의될 때 IP 주소를 협상하는 NT서버의 DHCP를 보충하여 완전하게 한다. 예를 들면 같은 네트워크에서 사람이 많아지면 네트워크에 부하도 많이 발생한다. 이 경우 WINS를 사용하면 컴퓨터 이름과 IP 목록을 관리해주기 때문에 동보 통신에 의한 부담을 줄일 수 있다.

# WINS 서버 사용할시 IP 지정

wins server = host

# nmbd에 의해서 wins기능을 갖추지 못한 호스트들을 대신하여 브로드캐스트 이름 질의를 대신 응답해 줄 수 있도록 지정해 주는 옵션이다. 

# 이것을 사용하려면 네트워크 상에 최소 하나 이상의 WINS 서버가 있어야 한다.

wins proxy = yes

# nmbd데몬이 wins server 역할을 하고, 등록되지 않는 NetBIOS 이름을 찾아줄 때 

# DNS server를 사용하여 NetBIOS 이름을 찾아줄 것인지의 여부를 지정하는 옵션이다.

dns proxy = no

===================== Share Definitions =====================

# 삼바 서버에 접속할 수 있는 사용자의 홈디렉토리를 설정해 주는 부분이다.

[homes] 

comment = Home Directories

browseable = no 

writable = yes 

=> 사용자의 홈 디렉토리 서비스 사용을 위한 기본적인 설정을 해주는 항목이다.

comment는 간단한 설명문, browseable은 공유이름을 브라우저에 표시할 수 있게 하는 기능, writable은 쓰기 허용을 설정한다.

[netlogon] 

comment = Network Logon Service 

path = /home/netlogon 

guest ok = yes 

writable = no 

share modes = no 

=> 도메인 로그온을 사용하고자 할 때 사용한다. 일반적으로 사용하지 않는다.

[Profiles] 

path = /home/profiles 

browseable = no 

guest ok = yes 

=> 특정한 프로파일을 지정할 때 사용한다. 일반적으로 사용하지 않는다.

# 삼바 프린터를 네트워크 공유 프린터로 사용할 때

[printers] 

comment = All Printers

path = /var/spool/samba // 프린터 위치

browseable = no

# Set public = yes to allow user 'guest account' to print

guest ok = yes // guest 계정 으로 지정한 사용자, 즉 nobody 들이 printing 을 할 수 있다

writable = no // 쓰기 설정

printable = yes // 프린트 사용 여부

=> 삼바 프린터를 네트워크 공유 프린터로 사용하고자 할 경우에 설정한다. BSD 계열의 프린터 시스템을 사용하면 일일이 프린터를 정의하지 않아도 된다.

[tmp]

comment = Temporary file space 

path = /tmp 

read only = no 

public = yes 

=> 여러 사람들이 파일을 공유할 목적으로 유효하게 사용할 수 있다. 현재 기본값인 /tmp는 임시 작업 공간 디렉토리이므로 /var/tmp처럼 다른 디렉토리를 만들어서 사용하도록 한다.

[public] 

comment = Public Stuff 

path = /home/public 

public = yes 

writable = no 

printable = no 

write list = @staff 

=> 공개적으로 접근이 가능한 디렉토리이지만 staff 그룹에 있는 사용자들을 제외한 사용자들은 오직 읽기만 사용 가능하다.

[posein] // 사용자 정의 섹션

comment = shared-files in posein directory // 간단한 설명이다.

path = /home/posein/pds // 공유 디렉토리의 경로를 지정한다.

read only = no // 공유 디렉토리를 읽기만 가능하게 할지를 지정한다.

writable = yes // write ok = yes와 같은 옵션으로 쓰기가 가능하다.

valid user = posein xitem prehee // 서비스 디렉토리에 사용 가능한 사용자를 말하며, 만약 이 옵션이 생략되면 모든 사용자가 접근할 수 있다.

public = no // guest ok와 같은 옵션으로 no로 설정하면 다른 사용자들은 이용할 수 없고 개인 사용자만 사용할 수 있게 된다.

browseable = no // 이용 가능한 공유 리스트를 보여줄 것인가를 지정하는 것으로 no로 지정하면 리스트를 보여주지 않는다.

printable = no // 서비스로 지정된 디렉토리에 스풀 파일을 지정할 것인가를 지정하는 것으로, 프린터 공유 디렉토리가 아니므로 대부분 no로 설정한다.

create mask =0765 // create mode와 같은 옵션으로 파일을 생성할 때 사용되는 모드를 나타낸다.

follow symlinks = no // 'no'로 하면 심볼릭 링크를 따르는 것이 방지된다. follow symlinks를 끄는 것은 잠재적인 보안 구멍을 제거한다.

728x90

* 옵션

- read only : 공유 디렉토리를 읽기만 가능하다.

- writeble users : 공유 디렉토리를 쓰기 가능하다. 

- valid users : 공유 디렉토리에 로그인 할 수 있도록 한다.

- public, guest ok : 다른 사용자들이 이용할 수 있도록 한다. 

- browseable : 공유 디렉토리의 리스트를 보여준다.

- printable : 공유 디렉토리에 스풀 파일을 저장할 것인지를 지정한다.

- path : 공유할 디렉토리의 절대 경로이다.

- comment : 코멘트를 뜻한다.

- create mask, creat mode : 파일을 생성할 때 사용되는 모드를 의미한다.

- write list : 쓰기가 가능한 특정 사용자를 지정한다.

 

728x90
반응형

댓글


loading