
환경 설정 파일 : smb.conf
- 삼바 서버의 환경 설정 파일인 smb.conf는 삼바 서버를 제어하고, 공유시킬 시스템 자원에 대한 다양한 설정을 함
- 이 파일은 /etc/samba 디렉터리 안에 존재하고, 파일 안의 구성은 윈도우의 환경 설정 파일인 win.ini와 비슷
- smb.conf 파일은 [ ]기호를 이용해서 섹션(Section)으로 구분하고 설정
💡 smb.conf 도움
Rocky Linux 8의 smb.conf 파일은 samba-common이라는 패키지에 의해 설치되는데, 이전 버전과 다르게 설명없이 주요 설정만 나열되어 있음
자세한 정보를 확인하려면 /etc/samba/smb.conf.example을 참고하거나 ‘man smb.conf’ 명령으로 확인
명령어 사용법
1. smb.conf 파일 내부 유형
| 유형 | 설명 |
| #으로 시작하는 행 | 이 행은 주석으로 간주하여 무시됨 |
| ;으로 시작하는 행 | 이 행도 주석으로 간주하여 무시됨 보통 이런 행은 설정 행이 작동하지 않도록 설정하거나 설명을 추가할 때 사용됨 # 및 ; 기호가 모두 주석으로 사용되는 이유는 유닉스 계열은 #, 윈도우는 ;을 주석으로 사용하기 때문에 삼바 서버에서는 모두 주석으로 인정 |
| [ ]을 사용하는 행 | 섹션을 정의하는 역할을 하고, 하나의 섹션이 정의된 후 그 다음 섹션이 정의될 때까지의 행들은 해당 섹션에 속함 |
| name = value 행 | 사용하는 옵션과 해당 값을 설정하는 행 |
2. smb.conf 의 주요 섹션
| 섹션 | 설명 |
| [global] | 삼바 서버의 전체적인 환경 설정을 담당하는 섹션 |
| [homes] | 각 사용자들이 자신의 홈 디렉터리로 접근할 때의 권한을 설정하는 섹션 |
| [printers] | 프린터 관련 권한을 설정하는 섹션 |
| [print$] | 프린터 드라이버 관련 섹션 |
3. [global] 섹션의 주요 항목
workgroup = SAMBA
- 윈도우의 작업 그룹에 해당하는 항목으로 공유 그룹명을 지정
server string = Samba Server
- 서버에 대한 설명을 설정
netbios name = MYSERVER
- 윈도우에서 이름으로 접속할 때 관련 이름을 지정
interfaces = lo eth0 192.168.12.2/24 192.168.13.2/24
- 네트워크 인터페이스별로 접근 제어할 때 설정
hosts allow = 127. 192.168.12. 192.168.13.2/24
- 삼바 서버에 접속을 허용할 호스트를 지정할 때 사용
- 접속 허용할 호스트는 IP 주소, 호스트명 등을 지정할 수 있으며, 네트워크/넷마스크 형태로도 지정할 수 있음
- 또한 EXCEPT라는 키워드와 와일드 문자도 사용할 수 있음
- 참고로 삼바 서버에 접속이 불가능하게 하려면 hosts deny로 설정
설정 예
hosts allow = 192.168.1. 127.
- 192.168.1.0 네트워크 대역에 속한 모든 호스트들과 로컬 시스템(127.0.0.0 네트워크)에서 접속할 수 있음
hosts allow = 192.168.1. EXCEPT 192.168.1.220 192.168.1.224
- 192.168.1.220과 192.168.1.224를 제외한 192.168.1.0 네트워크에 속한 모든 호스트들이 삼바 서버에 접속할 수 있음
hosts allow = 192.168.1.0/255.255.255.0
- 192.168.1.0 네트워크에 속한 모든 호스트들의 접속을 허용
hosts allow = posein_pc, yuloje_pc
- posein_pc과 yuloje_pc라는 호스트들만 삼바 서버 접속을 허용
log_file =/var/log/samba/log.%m
- 삼바 서버에 접속하는 호스트들의 로그를 기록하는 파일을 지정
max log size = 50
- 로그 파일의 최대 크기를 설정하는 부분으로 단위는 KB
- 설정된 값을 초과하게 되면 .old라는 확장자를 갖는 파일로 저장하고 새로운 파일이 생성됨
- 0으로 설정하면 파일 크기의 제한이 없음
security = user
- 삼바 서버에 접속할 때 인증 모드를 설정하는 항목으로 주요 모드는 다음과 같음
| 모드 | 설명 |
| user | 삼바 서버에 접속할 때 패스워드를 입력해야 함 |
| domain 또는 ads | 윈도우의 도메인 컨트롤러 (Domain Controller)에 전달하여 유효한 사용자 여부를 확인할 때 사용 ads는 Active Directory Server를 사용하는 경우에 지정 |
passdb backend = tdbsam
- security가 user 일 때 사용자의 패스워드를 설정하는 방식
4. [share] 섹션의 주요 항목
| 옵션 | 설명 |
| comment | 간단한 설명을 설정 |
| path | 공유 디렉터리의 경로를 설정 |
| read only | 공유 디렉터리를 읽기 전용으로 설정 |
| writable, write ok | 공유 디렉터리를 쓰기 가능하게 설정 |
| valid users | 공유 디렉터리를 이용할 수 있는 사용자를 지정 |
| write list | 공유 디렉터리에 접근 및 쓰기 권한을 행사할 수 있는 사용자를 지정 그룹인 경우에는 그룹명 앞에 @를 붙이면됨 |
| public, guest ok | 다른 사용자들이 이용할 수 있도록 설정할 때 사용 |
| browseable, browsable | 공유 디렉터리의 리스트를 보여줄 때 설정 |
| printable | 공유 디렉터리에 스풀 파일을 지정할 때 설정 |
| create mask, create mode | 파일을 생성할 때 허가권을 지정할 때 설정 |
공유 설정 예
[sdata]
comment = share directory
path =/sdata
public = yes
write list = @insa
- 윈도우에서 접근할 때 폴더 이름은 sdata로 설정
- 설명은 share directory로 설정
- 공유 디렉터리 경로는 /sdata로 설정
- 모든 사용자가 접근 가능하도록 설정
- 파일 생성 및 삭제는 insa 그룹에 속한 사용자들만 가능하도록 설정
[www]
comment = Web Directory
path =/usr/local/apache/htdocs
valid users = phpman webgirl
writable = yes
- 윈도우에서 접근할 때 폴더 이름은 www로 설정
- 설명은 Web Directory로 설정
- 공유 디렉터리 경로는 /usr/local/apache/htdocs로 설정
- 접근 가능한 사용자는 phpman과 webgirl만 설정
- 두 사용자 모두 파일 생성 및 삭제 권한을 부여
[www]
comment = Web Directory
path =/usr/local/apache/htdocs
valid users = phpman webgirl
write list = phpman
- 윈도우에서 접근할 때 폴더 이름은 www로 설정
- 설명은 Web Directory로 설정
- 공유 디렉터리 경로는 /usr/local/apache/htdocs로 설정
- 접근 가능한 사용자는 phpman과 webgirl만 설정
- 파일 생성 및 삭제 권한은 phpman만 가능하도록 설정
💡위치 / 옵션 찾기
smb.conf.example 파일 참고
- find / -name smb.conf
- smb.conf.example

- global 섹션 자주 나오는 부분은 암기 해두는 것을 권장!
- workgroup = 공유 그룹명
- server string = 서버에 대한 설명
- netbios name = 윈도우에서 접속 관련 이름
- hosts allow = 접근 제어 (192.168.5. 포맷)

- 공유 설정 자주 나오는 부분은 암기 해두는 것을 권장!
- [폴더명] : 윈도우에서 접근 할 때 폴더명
- path : 공유 디렉터리 경로
- valid users = 아이디1 아이디2 : 접근 가능 사용자
- write list = 아이디 : 파일 생성 및 삭제 권한
- writable = yes : valid users 모두 파일 생성 삭제 권한

'Linux' 카테고리의 다른 글
| [Linux] 삼바(SAMBA) 관련 명령어 - smbclient / smbstatus / testparm / smbpasswd (1) | 2026.01.25 |
|---|---|
| [Linux] NIS 관련 명령어 - nisdomainname / ypwhich / ypcat / yptest (0) | 2026.01.11 |
| [Linux] NIS 설정법 (0) | 2026.01.03 |
| [Linux] Apache 사용자 인증 - htpasswd (0) | 2025.12.28 |
| [Linux] Apache 에러 설정 httpd-multilang-errordoc.conf (0) | 2025.12.22 |