*Samba - 개요
네트워크를
통해 파티션을 공유하도록 제공하는 서비스
유닉스
시스템과 windows 시스템간 파일 시스템 공유
유닉스
계열의 거의 모든 시스템에서 제공
시스템의
리소스를 직접 제공하는 서비스이므로 보안에 주의한다.
- 응용을 제공하는 것이 아니라 리소스를 제공하는 서비스이다.
# ips가 트래픽양을 감당할수 없어서 회사에서 쓰던 samba 시스템은 집에서는 안된다.
# 무조건 유닉스에 계정이 있는 내부망에서만 사용이 가능하다.
- 계정을 삼바에서 등록해줘야한다.
*Samba - 구성
Samba
서버 확인 및 설치
# yum list
samba
# yum
install -y samba
데몬
/usr/sbin/smbd
-
공유 기능을 담당하는 데몬 (139번
포트 이용)
/usr/lib/systemd/system/smb.service
-
데몬 실행 스크립트
/etc/samba/smb.conf
-
Samba 설정파일
데몬
실행
# systemctl
start smb.service
관련
파일
•
환경 설정 파일 : /etc/samba/smb.conf
관련
명령어
- 사용자 등록 및 password 변경 : /usr/bin/smbpasswd
- smbpasswd [-a] 유저명
- a : 유저 등록
- x : 유저 삭제
- d, -e : 사용중지, 재사용
- 삼바 계정 확인 :
- pdbedit -w -L
- smb.conf 구문 검사 : /usr/bin/testparm
- NetBIOS명 검색 : /usr/bin/nmblookup
# 기존의 유닉스사용자에게 윈도우 네트워크에 접속할수 있게 해주기위한 비밀번호이다.
*Samba – smb.conf
[Global]
workgroup
- NT 도메인 명 지정
netbios name
- 네트워크 이름
- 기본값 : 호스트명
hosts allow
- 허가 항목 지정(지정된 것만 접속 가능)
ex) host allow = 1.1.1. EXCEPT 1.1.1.11 1.1.1.12
= 1.1.1.0/255.255.255.0
hosts deny
- 접속 거부 항목 지정 (형식은 hosts allow와 동일)
guest
account
- 윈도우의 quest 사용자 매핑 계정 설정
- nobody 또는 유닉스 계정으로 매핑 가능
- 주석 처리하면 guest 접속 불가(권장)
security
- user, share, server(domain) 중 설정
- security = user
- passdb backend = tdbsam
- 일부 예전 버전의 경우 user 설정 시 추가 설정 필요
- encrypt passwords = yes
- smb passwd file = /etc/samba/smbpasswd
Link
디렉토리 접근
보안
설정으로 인해 Symlink 디렉토리에 대한 기본 접근이 불허된다.
이를
허용하기 위해서는 아래와 같이 추가한다.
#접속 안될 수 있음 안되면 아래 세줄을 추가해주면된다.
follow
symlinks = yes
wide links =
yes
unix
extensions = no
언어셋
지정 (반드시 test 후 설정한다.)
unix charset
= utf-8
dos charset
= cp949
유닉스
계열의 언어셋과 클라이언트인 윈도의즈 계열의 언어셋이 서로
다름으로
반드시 지정해야 한다.
Smb.conf
파일에 다음을 내용 추가
- server signing = auto
[auto | mandatory | disabled]
- mandatory는 smb2만 지원하므로 이전 버전의 windows에서는 접속이 불가능 할 수도 있다.
윈도우 XP와 같은 Samba 접속이 거부되는 운영체제의 경우 다음 설정을 활성화
해준다.
lanman auth
= yes
ntlm auth =
yes
비활성화\ 된
경우 SPNEGO 지원의 클라이언트만 허용한다.즉
이는 NTLMv2가
NTLMSSP 내에서만 지원됨을 의미한다.
- SPNEGO는 The Simple and Protected GSS-API Negotiation Mechanism(IETF RFC 2478)에 정의된 표준 스펙.
- NTLM은 Windows 네트워크에서 NT LAN Manager는 Microsoft 보안 제품군으로 사용자에게 인증, 무결성 및 기밀성을 제공하기위한 프로토콜로 이전Microsoft 제품인 Microsoft LAN Manager의 인증 프로토콜의 후속 제품입니다.
*Samba – smb.conf
[Share]
comment
= 여기는 공유 경로입니다.
- 주석 처리
path =
/home/data
- 공유 경로 지정
browseable =
no
- 공유 정보를 제공할지 여부(yes/no)
- 권한이 없는 사용자에게는 보이지 않는다.
#잘 안먹는다 ..없어도 보인다고 한다.
writable =
yes
- 쓰기 권한 접근 허용여부(yes/no)
- Write list 설정과 무관하게 퍼미션이 있으면 쓰기 가능하다.
Public = no
- 누구에게나 접근을 허용 할지 여부(yes/no)
# samba에 등록된 모든사람
Read only =
yes
- 읽기 전용 접근 여부(yes/no)
# 파일을 받아만 가는 디렉토리에 지정
# 퍼미션이 잇어도 no 라고 되잇으면 안된다.
valid users
= fred
- 접근 가능한 사용자
# 권한을 모두 다 쓰는 사용자
write list =
+group user
- 공유 경로에서 쓰기 가능한 그룹이나 유저
(force)
create mask = 644
# umask 와 비슷한 개념
(force)
directory mask = 755
(force)
group = 그룹명
[homes]는 기본 이름으로 사용됨
- 각 계정의 홈 디렉토리 사용
[homes]
comment = Home Directories
browseable = no
writable = yes
설정 예
[public] # 공유자원 설정할 때 사용
comment = Public dir
path = /home/pub
# samba로 access 하는 사람 모두 쓸 수 있음
public = yes
writable = no
# 읽어서 가져만 갈 수 있음
write list = +te usr01
# 파일 올릴 수 있는 사람은 따로 지정해준다.
[project]
comment = project
valid users = usr01 usr02
# 작업단위나 업무단위, 부서단위로 줄떄 쓰는것이다.
# samba에서 등록된 사람만
path = /home/pro1
public = no
browseable = yes
writable = yes
Samba – 서버 접속
네트워크에서 서버 아이피 확인
계정 정보 입력
윈도우에 login된
계정과 암호가 동일한 경우에는 창이 뜨지 않는다.
계정 정보 확인
*Samba – 접속상태 확인
smbstatus
댓글 없음:
댓글 쓰기