Infra & Security Eng/Linux Fundamentals

[Samba 완벽 정리] 리눅스-윈도우 파일 공유 서비스 설정 및 주요 옵션 총정리

엔지니어 E 2026. 2. 9. 19:09
반응형

Samba 서비스 개념 

Samba는 Unix/Linux와 Windows 간의 디렉토리(파일),파일, 파티션, 프린터 등의 리소스 공유를 가능하게 하는 핵심 서비스

 

Samba 서비스 명령어과 각종 개념 설명 

workgroup
• NT 도메인 명 지정
netbios name (=윈도우 이름) ---> 윈도우 컴퓨터 이름처럼 등록이 됨 ---> 등록 안하면 호스트명으로 등록이 됨  
• 네트워크 이름
• 기본값(호스트명)
hosts allow, hosts deny 
• 허가(거부) 항목 지정(지정된 것만 접속 가능)
ex) host allow  = 1.1.1. EXCEPT 1.1.1.11  1.1.1.12
= 1.1.1.0/255.255.255.0 

guest account
• 윈도우의 guest 사용자 매핑 계정 설정
• nobody 또는 유닉스 계정으로 매핑 가능
• 주석 처리하면 guest 접속 불가(권장)
----> 지금은 쓰지 않는 기능
ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ

security
• user, share, server(domain) 중 설정- security = user- passdb backend = tdbsam
* share: 지금은 사용 안함 , server: 아직 개발 안된 상황 * 지금은 user 로 되어있고 건들일 필요는 없다

• 일부 예전 버전의 경우 user 설정 시 추가 설정 필요- encrypt passwords = yes- smb passwd file = /etc/samba/smbpasswd

➢ Link 디렉토리 접근 ---->보안 때문에 link 디렉토리를 허용하지 않게 되어 있다 
보안 설정으로 인해 Symlink 디렉토리에 대한 기본 접근이 불허된다. 
이를 허용하기 위해서는 아래와 같이 추가한다.

follow symlinks = yes
wide links = yes
unix extensions = n
---> 이 3가지를 conf 파일에 추가하면 link디렉토리에 들어갈 수 있다 
ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ

➢ 언어셋 지정
unix charset = utf-8
dos charset = cp949
• 유닉스 계열의 언어셋과 클라이언트인 윈도우즈 계열의 언어셋이 달라 자동 변환이 지원되지 않는 경우 
설정한다.
• 반드시 test 후 설정한다.
---> 윈도우에서는 잘 보이는데 유닉스 에서는 한글이 깨져 보일 수 있으므로 그때 사용
그런데 지금 우리가 쓰는 버전은 안해도 됨
ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ

path = /home/data
• 공유 경로 지정
browseable = no ---> 이 경로에 대한 자원을 사람들이 볼수 있느냐 없느냐를 정함
• 공유 정보를 제공할지 여부(yes/no)
• 권한이 없는 사용자에게는 보이지 않는다.
writable  = yes ---> yes 로 해야 쓸 수 있음
• 쓰기 권한 접근 허용여부(yes/no)
• Write list 설정과 무관하게 퍼미션이 있으면 쓰기 가능하다.
Public = no ---> yes로 하면 윈도우 내에 있는 접속자가 다 접속 가능
• 누구에게나 접근을 허용 할지 여부(yes/no)
Read only = yes 
• 읽기 전용 접근 여부(yes/no)
ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ

inherit acls = Yes
• 파일/디렉토리 생성 시, 상위 디렉토리의 ACL(Access Control List)을 상속하도록 설정
• 리눅스/윈도우 양쪽에서 권한 관리 일관성 유지
valid users = fred ---> 접속 가능한 사용자(계정)를 지정  ---> 예시:fred
• 접근 가능한 사용자
write list = +group user ---> +group 이나 user(계정)을 정할 수 있음
• 공유 경로에서 쓰기 가능한 그룹이나 유저
(force) create mask = 644 ---> (force): 강제로 지정해주세요라는 뜻 ---> 안먹힐때 force를 사용함
(force) directory mask = 755
(force) group = 그룹명

 [homes]는 기본 이름으로 사용됨
• 각 계정의 홈 디렉토리 사용
ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ
[homes] ---> 내 홈
comment = Home Directories
browseable = no ---> 다른사람한테 원래 안보이는게 정상
writable = yes ---> 나만 쓰는 거니까 당연히 yes로 

public = yes ---> 쌈바에 등록된 모든 계정은 사용 가능함
writable = no 
write list +te usr01 
te 그룹에 속한사람과 usr01 계정만 쓰기 가능 
ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ

[pro1]
comment = pro1
path = /home/pro1
browseable = yes
valid users = web01, web02, web03
read only = yes
write list = web01, web02
*실제로 web03은 읽기만 가능 
ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ
* smbstatus 에서 어떤 사람이 어떤 파일을 열고 있는지 확인이 가능함
ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ