SAMBA
- 리눅스 및 윈도우즈 클라이언트에게 파일 및 프린터 서비스를 제공하기위해 사용하는 서버 용프로그램.
Server-A (Samba Server)
#yum -y install samba samba-client samba-common samba-winbind
samba - 윈도우 시스템과의 작업에 필요한 서버/클라이언트 프로그램 제공
samba-client - 명령어 기반 Samba client 프로그램
samba-common - 윈도우 시스템과의 작업에 필요한 서버/클라이언트 프로그램 제공
samba-winbind - 리눅스 운영체제가 윈도우즈 사용자와 그룹을 사용하기위해 설치하는 패키지
/etc/samba/smb.conf // samba 주설정 파일
/var/log/samba/ // samba 로그가 저장되는 디렉토리
/usr/sbin/smbd // samba서버를 사용하기 위한
/usr/sbin/nmbd // 두개의 데몬 실행 파일
#service smb start // smb 데몬 시작
#servcie smb status // 상태 확인
#chkconfig smb on // 부팅 시 활성화
#chkconfig --list smb // 활성화 확인
#service nmb start // nmb 데몬 시작
#servcie nmb status // 상태 확인
#chkconfig nmb on // 부팅 시 활성화
#chkconfig --list smb // 활성화 확인
smb - (Server Message Block Daemon) 삼바 서버 데몬
nmb - (NetBios Name Server Daemon)
NetBios Name - 윈도우즈 컴퓨터 이름
NetBIOS - (Network Basic Input/Output System)
LAN 환경에서 윈도우 컴퓨터들이 통신할 때 사용하는 통신 서비스이며, 운영체제를 설치할 때 지정하는 컴퓨터 이름을 NetBIOS 이름이라 함
각 컴퓨터에는 고유한 NetBIOS를 지정해 네트워크상의 다른 컴퓨터의 NetBIOS 이름과 중복 되지 않아야 함
#smbclient -L 100.100.100.110
// samba-client 프로그램을 이용하여 samba 서버 동작유무 확인
패스워드 없이 "Enter" 키 입력
해당 서버의 이름, 버전, WorkGroup 정보 등을 알 수 있음
nmblookup - 삼바서버의 이름으로 ip주소를 조회하는 프로그램
#nmblookup [Hostname]
#nmblookup Server-A
querying Server-A on 100.100.100.255
100.100.100.110 Server-A<00
samba서버 설정
/etc/samba/smb.conf
smb.conf 파일의 기본 설정
- 3개의 섹션으로 나누어져 있다.
[global] - Samba서버 전체에 적용되는 환경을 설정하는 섹션
[homes] - 사용자들의 홈디렉토리로 접근할 때의 권한을 설정하는 섹션
[printers] - 프린터에 대한 권한을 설정하는 섹션
#vim /etc/samba/smb.conf
57 [global] // 글로벌 설정 시작 부분
74 workgroup = WORKGROUP // 삼바 서버가 윈도우즈와 통신할때, 사용되는 워크그룹
75 server string = DongSam SAMBA server // 네트워크상에 출력되는 삼바서버의 설명 (생량 가능), %v <-버전정보
76 netbios name = Server-A // 윈도우즈와 통신할때 사용되는 NetBios 이름
77 interfaces = lo eth0 100.100.100.110/24 // 삼바 서버를에 사용되는 인터페이스명 혹은 IP주소
78 hosts allow = 100.100.100. // 접근 허용할 IP주소 혹은 네트워크 주소
윈도우즈는 같은 네트워크 상에 위치한 컴퓨터들과 통신하기위해 IP주소 대신 해당 컴퓨터의 이름으로 각 컴퓨터를 구별하여 통신할 수 있는 NetBios 기능을 제공한다. 이런
컴퓨터들은 같은 작업그룹에 속해 있어야하며 같은 네트워크 상에 있더라도 작업그룹이 다르면, NetBios 통신을 할 수 없다.
87 log file = /var/log/samba/log.%m <- NetBios Name
89 max log size = 50 // KB단위, 50KB가 초과하게되면 다른 파일로 대체
99 security = user // 삼바 서버의 기본 운영 방식을 정의하는 부분
// user - 삼바 서버 접속시 계정과 암호가 필요하다.
// share - 삼바 서버 접속시 계정과 암호가 필요없다.
100 passdb backend = tdbsam // 삼바서버의 패스워드를 사용할 수 있다.
247 [share]
248 path = /samba/share // 공유 디렉토리 경로
249 writable = yes // 읽기 쓰기 권한
250 guest ok = yes // 계정없이 접속 가능
251 guest only = yes // 해당 공유 디렉토리로접근하는 모든 사용자를 Guest로 제한한다는 의미
252 create mode = 0777 // 클라이언트가 생성하는
253 directory mode = 0777 // 디렉토리/파일에 할당되는 허가권
#service smb restart
#service nmb restart
#testparm // 설정 파일 테스트 명령어
"enter"키 입력해야 결과출력
#mkdir -p /samba/share
#chmod -R 777 /samba/share
Client-Linux
#yum -y install samba-client
#smbclient -L Server-A
Enter root's password: // 설정한 섹션 [share] 가 출력되는지 확인.
#cp /etc/passwd /root // 업로드 테스트용 파일
#smbclient //Server-A/share // 삼바서버 Server-A가 제공하는 [share] 섹션에 접속 하겠다.
smb: \> put passwd
smb: \> mkdir test_dir
Sever-A /samba/share 디렉토리에 파일 업로드 및 생성확인
생성된 파일의 허가권/소유권 확인
Client-Win
Server-A (SAMBA:/samba/share) <---> Client-Win
실행 -> \\Server-A\share
Server-A ( 100.100.100.110) < -- > Client-Win ( 100.100.100.130 ) 각기 다른 운영체제에 공유가 잘 되어있는지 확인!
'Server > Linux' 카테고리의 다른 글
Linux // iptables (0) | 2018.04.06 |
---|---|
Linux // FTP (0) | 2018.04.03 |
Linux // NFS (0) | 2018.04.02 |
Linux // DNS (0) | 2018.03.31 |
Linux // DHCP (0) | 2018.03.31 |