본문 바로가기

Tip & Tech/Linux

smb.conf 조금 더 자세한 설정

[출처] smb.conf를 이용한 삼바 설정 by 아스라다

# 접속할 수 있는 네트워크의 범위 또는 특정 호스트들을 지정.
# 주의할 점은 hosts allow가 선언이 되어 있다면 hosts deny의 적용이 불가.
# 삼바가 xinetd 서비스 제공시 tcp_wrapper로 /etc/hosts.all, /etc/hosts.deny 에서 접속 허용, 차단이 가능함.
# stand alone으로 작동한다면 /etc/hosts.all, /etc/hosts.deny에서 접속제어가 불가능합니다
# (일부 배포판 제외)


# 10.10.0.100의 접속을 차단.
hosts deny = 10.10.0.100
# 10.10.0.0/24의 접속을 허용.
hosts allow = 10.10.0.
# 10.10.0.0/24의 삼바 접속을 허용하지만, 10.10.0.100은 제외합니다. (10.10.0.100 은 접속거부)
hosts allow = 10.10.0. except 10.10.0.100 

※ 주의!!
hosts deny = 10.10.0.100
hosts allow = 10.10.0.
의 경우 위에 있는 hosts deny 의 설정은 무시됨
으로 설정하면 hosts deny 설정은 무시됩니다. 이 경우에는 hosts allow의 설정만 적용되므로 10.10.0.100의 접속은 차단이 되지 않습니다.


따라서 hosts deny = 거부리스트 except 예외(허용리스트) 또는
hosts allow = 허용리스트 except 예외(거부리스트) 설정을 해야 올바르게 접속을 제어 할 수 있습니다.


# 공유 디렉토리의 이름을 설정
[공유이름]
# 공유되는 디렉토리에 대한 부가적인 설명
comment = 설정 예제
# 공유되는 디렉토리의 절대적인 경로
path = /공유경로
# 공유 디렉토리를 탐색할 수 있도록 공개시키려면 yes, 공개시키지 않으려면 no.
# 디렉토리를 공개시키지 않는 것이 접속을 막는 건 아닙니다. 사용자가 공유이름을 알고 있다면,
# 보이지 않더라도 접근은 가능합니다.

browseable = yes
# Anonymous 접근을 허용하려면 yes, Anonymous 접근을 허용하지 않으려면 no.
# 기본값은 public=no(인
증된 사용자만 접근)
public = yes
(guest ok = yes)
# 접속을 허용할 사용자(@그룹)을 지정합니다. 지정하지 않으면 모든 사용자(@그룹)의 접속을 허용합니다.
valid users = test,@users
# 접속된 사용자의 쓰기 허용 여부를 정합니다. yes는 쓰기를 허용, no는 쓰기를 허용하지 않음. 기본값은 writable = no(쓰기 금지)  
writable = yes
(write ok = yes 또는 read only = no)

# 쓰기를 허용할 사용자(@그룹)을 지정합니다.
write list = @users
# 생성되는 파일의 퍼미션은 디렉토리일 경우 755(쓰기권한이 자동으로 빠짐),
# 파일일 경우 766(실행권한이 자동으로 빠짐)으로 조정됨.
# 기본값은 디렉토리일 경우 755, 파일일 경우 744

create mask = 0777
(create mode = 0777)