일일 정리

Samba

mysecurity 2025. 3. 10. 17:34

목차

1. Samba

1-1 Samba 개요

1-2 smb.conf [global]

1-3 smb.conf [share]

 

 

1. Samba

1-1 Samba 개요

삼바 서비스는 네트워크를 통해 파티션을 공유하도록 제공하는 서비스이다. 유닉스 계열의 거의 모든 시스템에서 제공하는 서비스로 유닉스 시스템과 윈도우 시스템간 파일 시스템을 공유할 수 있다.

응용 프로그램이 아닌 리소스를 제공하는 서비스임을 유의한다.

 

● Samba 서버 확인 및 설치

# dnf list samba 

# dnf install ‐y samba

 

● 데몬

/usr/sbin/smbd

: 공유 기능을 담당하는 데몬이다. (139번 포트 이용)

/usr/lib/systemd/system/smb.service

: 데몬 실행 스크립트이다.

/etc/samba/smb.conf

: Samba 설정 파일이다.

 

● 데몬 실행

# systemctl start smb.service

 

● 관련 명령어

- 사용자 등록 및 password 변경: /usr/bin/smbpasswd

# smbpasswd [‐a] 유저 명

       -a : 유저 등록

       -x : 유저 삭제

       -d, -e :  사용 중지, 재사용

 

- 삼바 계정 리스트 : # pdbedit -w -L

- smb.conf 구문 검사 : /usr/bin/testparm

- NetBIOS명 검색 : /usr/bin/nmblookup

 

1-2 smb.conf [global]

- workgroup

: NT 도메인 명을 지정한다.

 

- netbios name 

: 네트워크 이름

: 기본값(호스트명)

-- 지금은 IP를 이용하므로 사용하지 않는다.

 

- hosts allow, hosts deny

: 허가(거부) 항목을 지정한다. 

-- 삼바 서버는 애초에 외부에서는 접속이 되지 않는다.

 

- Link 디렉토리 접근

보안 설정으로 인해 Symlink 디렉토리에 대한 기본 접근이 불허된다. 이를 허용하려는 경우 다음과 같이 설정한다.

follow symlinks = yes
wide links = yes
unixextensions = no

 

- 언어셋 지정

유닉스 계열의 언어셋과 클라이언트인 윈도우즈 계열의 언어셋이 달라 자동 변환이 지원되지 않는 경우 다음과 같이 설정한다.

unixcharset = utf‐8
dos charset = cp949

 

- 접속 거부 운영체제 접속

윈도우XP 와 같이 Samba 접속이 거부되는 운영체제의 경우 다음 설정을 활성화 해준다.

lanman auth = yes
ntlmauth = yes

 

1-3 smb.conf [share]

- path = /home/data

: 공유 경로를 지정한다.

 

- browseable = no

: 공유 정보를 제공할지 여부를 정한다. (yes/no)

: 권한이 없는 사용자에게는 보이지 않는다.

 

- writable  = yes

: 쓰기 권한 접근 허용 여부를 정한다. (yes/no)

: Write list 설정과 무관하게 퍼미션이 있으면 쓰기가 가능하다.

 

- Public = no

: 누구에게나 접근을 허용할지 여부를 정한다. (yes/no)

 

- Read only = yes

: 읽기 전용 접근 여부를 정한다. (yes/no)

 

※ 쓰기권한과 읽기 전용 설정은 yes와 no를 적절히 분배해 설정하는 것이 아니라 원하는 부분만 yes로 설정하는 방식이다.

 

- valid users = 사용자

: 접근 가능한 사용자를 지정한다. 

- write list = +group user

: 공유 경로에서 쓰기 가능한 그룹이나 유저를 지정한다.

 

지정이 제대로 되지 않는 경우 다음과 같이 force를 이용해 강제할 수 있다.

(force) create mask = 644

(force) directory mask = 755

(force) group = 그룹명

 

● [homes]

[homes]는 기본으로 지정되는 설정으로 다음과 같이 각 계정의 홈 디렉토리를 사용하도록 설정되어 있다.

comment = Home Directories
browseable = no
writable = yes

 

공유 관련 설정 예는 다음과 같다.

[public]
	comment = Public dir
 	path = /home/pub
 	public = yes
 	writable = no
 	write list = +teusr01

[project]
 	comment = project
 	valid users = usr01  usr02
 	path = /home/pro1
	public = no
	browseable= yes
 	writable = yes

 

몇 명만 사용할 수 있는 디렉토리를 지정하는 경우, [porfect] 부분과 같이 valid users에 허용할 유저를 설정하고 그에 따라 다음 설정을 이어간다. 또한 허용할 유저들만 그룹으로 묶어 디렉토리에 대하여 퍼미션을 지정한다.