리눅스 samba
IT위키
더 많은 작업
- Server Message Block
- 마이크로소프트와 인텔에서 개발한 이기종 시스템 간 자원 공유 프로토콜
- SMB 프로토콜을 이용한 CIFS(Common Internet File System)
- 리눅스와 윈도우 간 파일시스템 공유가 가능하다.
- GPL 로 배포되는 자유 소프트웨어다
| 데몬 | 하는 일 |
|---|---|
| smbd | 파일·프린터 공유, 사용자 인증, 잠금을 처리한다(TCP 139, 445) |
| nmbd | NetBIOS 이름 서비스와 네트워크 검색(브라우징)을 맡는다(UDP 137, 138) |
| winbindd | 윈도우 도메인(액티브 디렉터리)의 사용자·그룹 정보를 리눅스 계정으로 연결한다 |
- 파일 공유에 쓰는 기본 데몬은 smbd 와 nmbd 두 개다(도메인 연동 때 winbindd 를 더한다). bmbd 같은 데몬은 없다
- 서비스 이름은 레드햇 계열에서 smb, nmb 다(
systemctl start smb nmb)
# yum install samba # yum install samba-common # yum install samba-client
- '#'나 ';'로 시작하는 행은 주석
- 유닉스 계열은 #, 윈도우 계열은 ;를 주석으로 사용하는데 삼바는 그 둘을 모두 주석으로 인정
- [ ] 로 감싸진 것은 섹션이다.
- smb.conf 는 크게 Global Settings([global] 섹션, 서버 전체 설정)와 Share Definitions([homes], [printers] 와 사용자가 만든 공유 섹션) 두 영역으로 나뉜다
주요 섹션
- [global] 삼바 서버의 전체적인 환경설정
- [homes] 각 사용자들이 자신의 홈 디렉터리로 접근할 때의 권한을 설정하는 섹션
- [printers] 프린터 관련 권한을 설정하는 섹션
- workgroup
- interfaces : 네트워크인터페이스(랜카드) 설정
- hosts allow
- hosts deny
- security = user | share | server | domain(ads)
- user : 삼바 서버에 접속할 때 사용자명과 패스워드를 입력한다.
- share : 삼바 서버에 사용자 인증 없이 접근할 때 사용한다.
- server : 윈도우 NT 서버와 같이 다른 서버에 사용자명과 암호를 전달하여 인증한다.
- domain 또는 ads : 윈도우의 도메인 컨트롤러, Active Directory 서버를 이용하여 인증한다.
- 기본값은 user 다. 삼바 서버에 만든 계정(smbpasswd·pdbedit 로 등록)으로 인증을 받게 하려면
security = user로 둔다. - share 와 server 는 Samba 4 에서 폐기되어 지금은 user, domain, ads 만 쓴다. 인증 없이 공유하려면
map to guest = Bad User와 공유 섹션의guest ok = yes를 쓴다.
- write list
- @그룹 형태로 쓰기 가능한 그룹을 추가 할 수 있다.
- null passwords = yes | no
- 값이 yes일 경우 아래 명령어를 통해 로그인 없이 접속 가능한 사용자를 만들 수 있다.
- # smbpassword -n posein
- 삼바 클라이언트 명령으로 삼사 서버로 접근할 때 사용한다.
- ftp클라이언트와 유사하게 접속 한 후 명령어를 입력하여 작업을 수행한다.
- 기본 사용법
$ smbclient [옵션] [호스트]
- 옵션
- -L : 정보 조회
- -U : 접속할 사용자 명 지정
- -M : 메세지 전송
- 호스트
- \를 사용하는 경우엔 \개수를 윈도우의 2배로 쓴다.
- /를 사용하는 경우엔 호스트명 앞에는 2개, 디렉터리 구분은 1개를 쓴다.
ex) \\\\192.168.1.1\\source
//192.168.1.1/source
- smbstatus : 현재 연결된 클라이언트 상태 정보를 출력
- testparm : 삼바의 환경설정 파일인 smb.conf를 테스트
- nmblookup : NetBIOS 이름으로 IP 주소를 찾는다(NetBIOS 이름 조회).
nmblookup 이름, IP 로 이름을 볼 때는nmblookup -A IP→ NetBIOS - 정리하면 서버 공유에 접속해 파일을 주고받는 것은 smbclient(접속하면
smb: \>프롬프트가 나오고 ls·get·put 을 쓴다), 접속 현황은 smbstatus, 설정 검사는 testparm, 이름 조회는 nmblookup 이다 - pdbedit : 사용자 데이터베이스를 관리한다.
- a : 사용자 추가
- L : 등록된 사용자 간단 조회
- v : 등록된 사용자 상세 조회