삼바 서버 설정하기

2021. 3. 8. 12:39IT/S . e . v . e . r . I . n . f . r . a

1. 삼바 패키지 설치

먼저 Samba를 설치합니다.

sudo yum -y install samba


2. 삼바 관련 포트 개방

방화벽이나 AWS의 경우는 Security Group에 Samba관련 포트 설정을 추가합니다.
외부에서 Samba에 액세스 할 수 있도록 다음 포트 inbound을 열어 둡니다.

· UDP 137 번 포트 : NetBIOS 이름 서비스 (이름 등록 등) 용
· UDP 138 번 포트 NetBIOS 데이터 그램 서비스 (검색 등) 용
· TCP 139 번 포트 : NetBIOS over TCP (파일 / 인쇄 서비스 등) 용(리눅스)
· TCP 445 번 포트 : 직접 호스트 SMB (파일 / 인쇄 서비스 등) 용(윈도우즈)


3. 삼바 유저 설정

먼저 일반유저를 생성해줍니다.
유저를 생성할 때 이 유저는 기본적으로 터미널에 로그인이 안되도록 nologin 플래그를 붙여주도록 합니다.
또한 일괄적으로 관리하기 위해서 삼바유저는 같은 그룹으로 묶어줍니다.

useradd -s /sbin/nologin [유저아이디] -u [유저uid] -G [그룹명]


생성해준 아이디에 삼바용 패스워드를 설정해줍니다.
여기서 삼바 패스워드는 리눅스의 유저패스워드와는 별개의 패스워드입니다.

echo -e "[삼바패스워드]\n[삼바패스워드]\n" | smbpasswd -a -s [유저아이디]

 



4. 삼바 컨피그 설정

SAMBA 설정은 매우 단순하며, 각 설정의 갖는 의미는 다음과 같습니다.

[global]
workgroup = SAMBA


윈도우즈에서 소속되는 워크그룹명이다.

 

hosts allow = 182.120.xxx.xxx


samba 서버에 접속을 허용할 ip - 이 부분을 넣게되면 whitelist 설정을 할 수 있다.

 

security = user


시큐리티 인증방식에 대한 설정이다.
(user, share, server, domain)
user - 아이디 비번 을 입력하여 접속
share - 인증 없이 접속
server - 별도의 인증서버
domain - 윈도우NT 계열의 도메인 컨트롤러

 

#passdb backend = tdbsam
passdb backend = smbpasswd


백엔드 패스워드 데이터베이스를 설정하는 곳이다.
tbdsam, smbpasswd등으로 설정이 가능하다.

 

printing = cups

 

프린팅 프로토콜에 대한 설정이다.

 

printcap name = cups

 

프린터 명이다.

 

load printers = no

 

프린터를 로드할 것인지에 대한 설정이다.

 

cups options = raw


cups의 옵션을 정의하는 곳이다.



[share_disk]


접속시 표시되는 공유 이름을 나타낸다.

 

comment = share for ziny


공유 디렉토리에 대한 간단한 커멘트를 넣을 수 있다.

 

path = /mnt/testdir/media


SAMBA로 공유할 실제 디렉토리를 설정하며, 디렉토리의 권한은 755로 설정되어 있어야 한다.

 

valid users = share-pubuser,share-ziny


ID, Password를 통해 인증을 하고자 한다면 이곳에 로그인을 허용할 유저의 리스트를 명시할 수 있다.
guest ok옵션과는 병행해 쓰지 않는다.

 

printable = no


프린트를 허용할 지 여부를 선언하는 설정이다.
no, cups등을 설정할 수 있다.

 

browsable = yes


SAMBA 접속시 탐색 기능이 가능하도록 하는 설정이다.

 

read only = yes


SAMBA 접속시 파일 읽기만 가능하도록 하는 설정이다.
쓰기 권한을 추가할 경우, no로 설정해야 한다.

 

writable = yes


SAMBA 접속시 파일 수정이 가능하도록 하는 설징이다.

 

create mode = 0660


파일 생성시 파일의 퍼미션을 선언하는 설정이다.

 

directory mode = 0750


디렉토리를 생성시 퍼미션을 선언하는 설정이다.

 

force user = apache


유저로그인 ID를 설정해서 서비스 하는 경우 일반적으로 자신의 홈 디렉토리를 공유 영역으로 지정을 하는데
여러명이서 이용을 하는 경우 권한과 오너 문제가 발생할 수 있다
이런경우 어떤 유저로 파일을 만들던간에 force user에 명시된 유저로 파일이나 디렉토리를 생성하도록 하는 설정이다.

 

guest ok = yes


SAMBA 접속시 로그인 없이 anonymous접속이 가능하도록 하는 설정이다.

 

5. 삼바 기동

 

sudo systemctl enable smb
sudo systemctl start smb