서버/Linux III 2016. 4. 8. 12:24
Linux III - 13. Samba 서버
login as: root
root@192.168.1.100's password:
Last login: Tue Apr 19 09:39:28 2016 from 192.168.1.1
[root@main /root]#
login as: root
root@192.168.1.101's password:
Last login: Tue Apr 19 09:47:50 2016 from 192.168.1.1
[root@clone1 /root]#
1. Samba
Samba란 리눅스 공유 서비스를 윈도우에서도 사용하기 위한 서비스를 의미한다. MS와 Intel에서 윈도우시스템이 다른 시스템의 디스크나 프린터 자원을 공유할 수 있도록 SMB(Server Message Block) 프로토콜을 개발하였는데, Samba가 SMB를 이용하여 윈도우와 다른 시스템간의 프린터 및 자료를 공유할 수 있도록 해준다.
samba 서비스는 2개의 데몬으로 구성된다.
- smbd : 파일 및 프린터 공유, 사용자 확인 및 권한부여 (포트 번호 : 137, 138)
- nmbd : 클라이언트를 위해 NetBios Nameserver를 지원하고 서비스를 알린다. (포트 번호 : 139)
nbmd는 Samba 서버가 윈도우의 네트워크 이웃으로 탐색되게 하고 사용자가 사용할 수 있는 자원의 목록을 확인할수 있도록 해준다. nmbd 없이 Samba 서버를 운영할 수는 있지만, 이런 경우 서버와 사용자 자원의 Netbios Name을 알아아 한다.
2. Samba 패키지 설치 및 서비스 활성화
- Samba 패키지가 설치되었는지 확인한다.
[root@main /root]# rpm -qa | grep samba
samba-winbind-3.6.23-12.el6.x86_64
samba-common-3.6.23-12.el6.x86_64 <- Samba 설정 파일, 유틸리티, 메뉴얼
samba4-libs-4.0.0-64.el6.rc4.x86_64 <- Samba 라이브러리
samba-winbind-clients-3.6.23-12.el6.x86_64
samba-3.6.23-12.el6.x86_64 <- Samba 서버
samba-client-3.6.23-12.el6.x86_64 <- Samba 클라이언트
- 만약, 설치가 안되어있거나, 업데이트가 필요하면 다음과 같이 설치한다.
[root@main /root]# yum -y install samba
~ 중간 생략 ~
Updated:
samba.x86_64 0:3.6.23-25.el6_7
Dependency Updated:
libsmbclient.x86_64 0:3.6.23-25.el6_7
samba-client.x86_64 0:3.6.23-25.el6_7
samba-common.x86_64 0:3.6.23-25.el6_7
samba-winbind.x86_64 0:3.6.23-25.el6_7
samba-winbind-clients.x86_64 0:3.6.23-25.el6_7
[root@main /root]# rpm -qa | grep samba
samba-winbind-clients-3.6.23-25.el6_7.x86_64
samba-3.6.23-25.el6_7.x86_64
samba4-libs-4.0.0-64.el6.rc4.x86_64
samba-winbind-3.6.23-25.el6_7.x86_64
samba-client-3.6.23-25.el6_7.x86_64
samba-common-3.6.23-25.el6_7.x86_64
- smb, nmb 서비스를 시작한다.
[root@main /root]# service smb status
smbd가 정지되었습니다
[root@main /root]# service smb start
SMB서비스를 시작하고 있습니다: [ OK ]
[root@main /root]# service nmb status
nmbd가 정지되었습니다
[root@main /root]# service nmb start
NMB서비스를 시작하고 있습니다: [ OK ]
- 재부팅시에도 smb, nmb 서비스가 활성화 되도록 구성한다.
[root@main /root]# chkconfig --list smb
smb 0:해제 1:해제 2:해제 3:해제 4:해제 5:해제 6:해제
[root@main /root]# chkconfig smb on
[root@main /root]# chkconfig --list smb
smb 0:해제 1:해제 2:활성 3:활성 4:활성 5:활성 6:해제
[root@main /root]# chkconfig --list nmb
nmb 0:해제 1:해제 2:해제 3:해제 4:해제 5:해제 6:해제
[root@main /root]# chkconfig nmb on
[root@main /root]# chkconfig --list nmb
nmb 0:해제 1:해제 2:활성 3:활성 4:활성 5:활성 6:해제
- smb, nmb 관련 포트 번호를 확인한다.
[root@main /root]# egrep '(netbios|microsoft-ds)' /etc/services
netbios-ns 137/tcp # NETBIOS Name Service
netbios-ns 137/udp
netbios-dgm 138/tcp # NETBIOS Datagram Service
netbios-dgm 138/udp
netbios-ssn 139/tcp # NETBIOS session service
netbios-ssn 139/udp
microsoft-ds 445/tcp
microsoft-ds 445/udp
3. Samba 설정 파일
- 'smb.conf' 설정 파일에는 Global Setting을 이용하여 Samba 서버 전체 설정을 실시하며, Share Definitions를 이용하여 각각의
공유에 대한 개별적인 설정을 실시한다.
[root@main /root]# ls /etc/samba/
lmhosts smb.conf smbusers
[root@main /root]# vi /etc/samba/smb.conf
~ 중간 생략 ~
55 #======================= Global Settings ================================ 윈도우 작업그룹처럼 공유그룹을 지정한다. 클라이언트가 서버에게 요청시 출력하는 이름이다.
윈도우에서 확인할때 사용하는 Samba 서버 이름을 지정한다. Samba 클라이언트가 윈도우쪽에서 출력될 Netbios 이름을 지정한다. Samba 서버 서비스를 네트워크 인터페이스별로 제공할때 설정한다. 만약, 설정이 없다면 모든 인터페이 스에 Samba 서비스를 제공한다.
Samba 서버에 접속을 허용할 호스트를 지정한다. 만약 접속을 차단하려면 'hosts deny'로 설정한다.
Samba 서버에 접속하는 호스트 접속 로그에 대한 기록을 저장하는 로그 파일을 지정한다.
로그파일 최대크기를 제한할때 사용한다. 기본값으로 50KB로 설정되어 있으며, 이 크기를 초과하면 .old 확장자로 저장되고, 새로운 로그 파일이 생성된다. 만약, 0KB로 설정하면 크기 제한이 없어진다.
보안 관련 옵션이며, 클라이언트가 Samba 서버에 접속할때 인증 레벨을 할당할 수 있다. 'Domain Members Options', 'Domain Controller Options' 부분에서 관련된 설정을 실시하면 된다.
~ 중간 생략 ~
174 # ----------------------- Browser Control Options ---------------------------- Samba 서버가 nmbd 데몬에 의해 로컬 마스터 브라우저가 될 수 있도록 허용하는 설정이다. 'no'로 설정되어 있으면 로컬 마스터 브라우저가 될 수 없다.
Samba 서버가 로컬 마스터 브라우저로 동작하기 위한 레벨값이며, '0'이면 로컬 브라우저가 될수 없다.
Samba 서버가 로컬 마스터 브라우저로 동작할 수 있는 가능성을 높혀주는 설정이다.
Samba 서버에서 nmbd 데몬이 wins 서버의 역할을 할 수 있도록 하는 설정이다.
wins 서버 IP 주소를 지정하는 설정이다.
nmbd 데몬에 의해서 wins 기능이 없는 호스트를 대신하여 브로드케스트 질의에 대한 응답을 대신 처리 하는 설정이다. 이때, 네트워크 환경에는 최소 wins 서버가 있어야 한다.
nmbd 데몬이 wins 서버 역할을 하며, 등록되지 않는 Netbios 이름을 찾아줄때 DNS 서버를 이용할 수 있도록 하는 설정이다.
Samba 서버에 printcap에 정의된 모든 프린터 목록이을 자동으로 로딩하는 설정이다. 네트워크 프린터를 Samba 서버에 연결하여 사용하려면 'yes'로 해야 한다.
Samba 서버에 의해서 사용되는 printcap 이름을 겹처쓰기 할 디렉토리를 지정한다.
프린터 시스템 종류를 지정하는 옵션으로 비표준 프린터 시스템이 아니면 지정할 필요 없다.
246 #======================= Share Definitions ============================ 도메인 로그온을 사용할 때 사용하는 설정이며, 일반적으로 사용하지 않는다.
특정 프로파일을 지정할 때 사용하며, 일반적으로 사용하지 않는다.
제외한 사용자들은 오직 읽기만 가능하도록 하는 설정
289
: q! |
4. Samba 서비스 구성
Ex1) Win2003에서 main 공유 자원 접근
- 파일 서버 : Main Eth 0 (172.20.1.1)
- 클라이언트 : Win2003 NIC (172.20.1.250)
- 'smb.conf' 설정 파일에서 다음과 같은 설정을 추가 및 변경한다.
[root@main /root]# vi /etc/samba/smb.conf
~ 중간 생략 ~ 55 #======================= Global Settings =============================
94 # ----------------------- Standalone Server Options ------------------------ ~ 중간 생략 ~
~ 중간 생략 ~ 292 # Main Samba Server Configuration
: wq! |
- 공유 디렉토리 '/samba'를 생성하고, 퍼미션을 조정한다. 또한, 파일 한개를 생성거나 복사한다.
[root@main /root]# mkdir /samba
[root@main /root]# ls -dl /samba
drwxr-xr-x 2 root root 4096 2016-04-18 15:48 /samba
[root@main /root]# chmod 777 /samba
[root@main /root]# ls -dl /samba
drwxrwxrwx 2 root root 4096 2016-04-18 15:48 /samba
[root@main /root]# cp /etc/passwd /samba
[root@main /root]# ls /samba
passwd
- smb, nmb 서비스를 재시작한다.
[root@main /root]# service smb restart
SMB 서비스를 종료함: [ OK ]
SMB서비스를 시작하고 있습니다: [ OK ]
[root@main /root]# service nmb restart
NMB 서비스를 종료함: [ OK ]
NMB서비스를 시작하고 있습니다: [ OK ]
- 'testparm' 명령어를 이용하여 'smb.conf' 설정 파일 내용을 점검한다.
[root@main /root]# testparm
Load smb config files from /etc/samba/smb.conf
rlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384)
Processing section "[homes]"
Processing section "[printers]"
Processing section "[public]"
WARNING: The security=share option is deprecated
Loaded services file OK.
Server role: ROLE_STANDALONE
Press enter to see a dump of your service definitions
(엔터)
[global]
server string = Main Samba Server %v
log file = /var/log/samba/log.%m
max log size = 50
idmap config * : backend = tdb
hosts allow = 127., 172.20.
cups options = raw
[homes]
comment = Home Directories
read only = No
browseable = No
[printers]
comment = All Printers
path = /var/spool/samba
printable = Yes
print ok = Yes
browseable = No
[public]
comment = Samba Test
path = /samba
read only = No
guest ok = Yes
- Samba 계정을 생성한다. 이때, 계정은 '/etc/passwd'에 등록된 계정으로 생성해야 한다.
[root@main /root]# pdbedit -a user1
new password: centos
retype new password: centos
Unix username: user1
NT username:
Account Flags: [U ]
User SID: S-1-5-21-2890182867-1041611665-2054084988-1000
Primary Group SID: S-1-5-21-2890182867-1041611665-2054084988-513
Full Name:
Home Directory: \\main\user1
HomeDir Drive:
Logon Script:
Profile Path: \\main\user1\profile
Domain: MAIN
Account desc:
Workstations:
Munged dial:
Logon time: 0
Logoff time: 목, 07 2월 2036 00:06:39 KST
Kickoff time: 목, 07 2월 2036 00:06:39 KST
Password last set: 월, 18 4월 2016 15:15:54 KST
Password can change: 월, 18 4월 2016 15:15:54 KST
Password must change: never
Last bad password : 0
Bad password count : 0
Logon hours : FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
[root@main /root]# pdbedit -L
user1:500:
- Samba 계정 삭제는 다음과 같다.
[root@main /root]# pdbedit -x user1
[root@main /root]# pdbedit -L
- 'smbpasswd' 명령어를 이용한 Samba 계정 생성, 활성화/비활성화, 삭제는 다음과 같다.
[root@main /root]# smbpasswd -a user1 <- 'user1' 계정 생성
New SMB password: centos
Retype new SMB password: centos
Added user user1.
[root@main /root]# pdbedit -L
user1:500:
[root@main /root]# smbpasswd -d user1 <- 'user1' 계정 비활성화
Disabled user user1.
[root@main /root]# smbpasswd -e user1 <- 'user1' 계정 활성화
Enabled user user1.
[root@main /root]# smbpasswd -x user1 <- 'user1' 계정 삭제
Deleted user user1.
[root@main /root]# smbpasswd -a user1 <- 'user1' 계정 생성
New SMB password: centos
Retype new SMB password: centos
Added user user1.
[root@main /root]# pdbedit -L
user1:500:
- 'smbclient' 명령어를 이용하여 공유 유무를 확인하도록 한다.
[root@main /root]# smbclient -L localhost -U user1
Enter user1's password: centos
Domain=[WORKGROUP] OS=[Unix] Server=[Samba 3.6.23-25.el6_7]
Sharename Type Comment
--------- ---- -------
public Disk Samba Test
IPC$ IPC IPC Service (Main Samba Server 3.6.23-25.el6_7)
user1 Disk Home Directories
KONICA_MINOLTA_423SeriesPCL:2 Printer Fax
Fax:5 Printer Fax
HP_Officejet_Pro_8100:3 Printer HP Officejet Pro 8100
Hancom_PDF:4 Printer Hancom PDF
Microsoft_XPS_Document_Writer:1 Printer Microsoft XPS Document Writer
SINDOH_N501_PCL:6 Printer SINDOH N501 PCL
Fax:2 Printer Fax
Domain=[WORKGROUP] OS=[Unix] Server=[Samba 3.6.23-25.el6_7]
Server Comment
--------- -------
MAIN Main Samba Server 3.6.23-25.el6_7
Workgroup Master
--------- -------
WORKGROUP MAIN
Win2003의 Network Adapter를 Host -Only로 변경하여 실행한다. 부팅이 완료되었다면, IP 주소를 '172.20.1.250/24', 게이트웨이는 '172.20.0.1'로 설정한다.
Win2003에서 ping 172.20.1.1로 Ping 테스트를 실시하고, 다음과 같은 방법을 이용하여 Samba 서버 접속을 실시한다.
[참고] Windows10인 경우, [global]에 protocol = SMB2 추가 실시
window 키 + R -> 실행 - \\192.168.1.100 엔터 -> 'user1' 로그인 실시
'public' 디렉토리 접근 실시
'public' 디렉토리 확인 -> 'passwd' 파일 Win2003 바탕화면으로 복사 테스트 실시
Win2003에서 'test' 폴더 생성 -> 'test.txt' 파일 바탕화면에 생성 -> 'test' 폴더로 복사 실시
[root@main /root]# ls /samba
passwd test
[root@main /root]# ls /samba/test
test.txt
- main에서 Samba 연결 상태를 확인한다.
[root@main /root]# smbstatus
Samba version 3.6.23-25.el6_7
PID Username Group Machine
-------------------------------------------------------------------
8948 user1 user1 k09xpm4pdtawhx3 (172.20.1.250)
Service pid machine Connected at
-------------------------------------------------------
IPC$ 8948 _________-pc Mon Apr 18 16:29:56 2016
public 8948 _________-pc Mon Apr 18 16:29:57 2016
user1 8948 _________-pc Mon Apr 18 16:29:56 2016
Locked files:
Pid Uid DenyMode Access R/W Oplock SharePath Name Time
--------------------------------------------------------------------------------------------------
8948 500 DENY_NONE 0x100081 RDONLY NONE /samba . Mon Apr 18 16:29:57 2016
- Win2003에서 공유 연결 상태를 확인한다.
C:\Users\김정우>net use (삭제 : net use * /del)
새 연결 정보가 저장됩니다.
상태 로컬 원격 네트워크
------------------------------------------------------------------------------
OK \\172.20.1.1\IPC$ Microsoft Windows Network
명령을 잘 실행했습니다.
- 확인이 완료되었다면, Win2003에서 'public' 디렉토리 공유창을 닫는다.
Ex2) main에서 Win2003 공유 자원 접근
- 파일 서버 : Win2003 NIC (172.20.1.250)
- 클라이언트 : Main Eth 0 (172.20.1.1)
- Win2003에서 'user1' 계정(패스워드 : centos)를 생성한다.
(내 컴퓨터 우클릭 -> 관리 -> 로컬 사용자 및 그룹 -> 사용자 우클릭 -> 새 사용자)
- 그리고 C 드라이브에서 'samba' 폴더 생성 및 'test.txt' 파일을 생성하고, 'user1' 계정에 대해서 공유를 실시한다.
- main에서 마운트를 실시할 '/mnt/samba' 디렉토리를 생성한다.
[root@main /root]# mkdir /mnt/samba
- main에서 'user1' 계정을 이용하여 Win2003 'samba' 폴더를 마운트한다.
[root@main /root]# mount.cifs //192.168.1.1/samba /mnt/samba -o user=user1
Password: centos
[root@main /root]#
- 마운트 결과를 확인한다.
[root@main /root]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 4.7G 710M 3.8G 16% /
tmpfs 495M 72K 495M 1% /dev/shm
/dev/sdc1 991M 1.3M 939M 1% /data
/dev/sdb1 991M 1.4M 939M 1% /home
/dev/sda3 13G 4.0G 8.2G 33% /usr
//192.168.1.1/samba 233G 79G 154G 34% /mnt/samba
- main '/mnt/samba' 디렉토리에 Win7 'samba' 폴더 'test.txt' 파일이 있는지 확인한다.
[root@main /root]# ls /mnt/samba
test.txt
- main에서 'test1.txt', 'test2.txt' 파일을 생성한다.
[root@main /root]# cp /etc/passwd /mnt/samba/test1.txt
[root@main /root]# cp /etc/hosts /mnt/samba/test2.txt
[root@main /root]# ls /mnt/samba
test.txt test1.txt test2.txt
- Win2003 'samba' 폴더에 'test1.txt', 'test2.txt' 파일이 있는지 확인한다.
- 마운트를 해지한다.
[root@main /root]# umount /mnt/samba
[root@main /root]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 4.7G 740M 3.8G 17% /
tmpfs 495M 224K 495M 1% /dev/shm
/dev/sda3 13G 4.0G 8.2G 33% /usr
/dev/sdc1 991M 1.3M 939M 1% /data
/dev/sdb1 991M 1.4M 939M 1% /home
- 재부팅시에도 마운트가 되려면, '/etc/fstab' 설정 파일에 다음과 같은 설정을 추가한다.
[root@main /root]# vi /etc/fstab
1
: wq! |
- 'user1' 계정 정보 파일을 생성한다.
[root@main /root]# vi /etc/samba/cred
1 username=user1 : wq! |
- 'user1' 계정 정보는 root만 확인할 수 있도록 퍼미션을 변경한다.
[root@main /root]# chmod 600 /etc/samba/cred
- 'mount -a'를 실시하여, Win2003 'samba' 폴더가 main 'mnt/samba'에 마운트 되는지 확인한다.
[root@main /root]# mount -a
[root@main /root]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 4.7G 740M 3.8G 17% /
tmpfs 495M 224K 495M 1% /dev/shm
/dev/sdc1 991M 1.3M 939M 1% /data
/dev/sdb1 991M 1.4M 939M 1% /home
/dev/sda3 13G 4.0G 8.2G 33% /usr
//172.20.1.250/samba 233G 79G 154G 34% /mnt/samba
- main '/mnt/samba' 디렉토리를 확인한다.
[root@main /root]# ls /mnt/samba
test.txt test1.txt test2.txt
- '/etc/fstab' 설정 파일에 추가한 내용을 삭제하도록 한다.
[root@main /root]# vi /etc/fstab
1
: wq! |
- '/mnt/samba' 디렉토리 마운트를 해지하도록 한다.
[root@main /root]# umount /mnt/samba
[root@main /root]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 4.7G 740M 3.8G 17% /
tmpfs 495M 224K 495M 1% /dev/shm
/dev/sda3 13G 4.0G 8.2G 33% /usr
/dev/sdc1 991M 1.3M 939M 1% /data
/dev/sdb1 991M 1.4M 939M 1% /home
- Win2003에서 user1 계정을 삭제하도록 한다.
Ex3) clone1에서 main 공유 자원 접근 I
- 파일 서버 : Main Eth 0 (172.20.1.1)
- 클라이언트 : Clone1 Eth 0 (172.20.1.101)
- main에서 'smb.conf' 설정 파일에 다음과 같은 설정을 추가한다.
[root@main /root]# vi /etc/samba/smb.conf
~ 중간 생략 ~
55 #======================= Global Settings =============================
: wq! |
- 'smbclient' 명령어를 이용하여 공유 유무를 확인하도록 한다.
[root@main /root]# smbclient -L localhost -U user1
Enter user1's password: centos
Domain=[WORKGROUP] OS=[Unix] Server=[Samba 3.6.23-25.el6_7]
Sharename Type Comment
--------- ---- -------
public Disk Samba Test
IPC$ IPC IPC Service (Main Samba Server 3.6.23-25.el6_7)
user1 Disk Home Directories
KONICA_MINOLTA_423SeriesPCL:2 Printer Fax
Fax:5 Printer Fax
HP_Officejet_Pro_8100:3 Printer HP Officejet Pro 8100
Hancom_PDF:4 Printer Hancom PDF
Microsoft_XPS_Document_Writer:1 Printer Microsoft XPS Document Writer
SINDOH_N501_PCL:6 Printer SINDOH N501 PCL
Fax:2 Printer Fax
Domain=[WORKGROUP] OS=[Unix] Server=[Samba 3.6.23-25.el6_7]
Server Comment
--------- -------
MAIN Main Samba Server 3.6.23-25.el6_7
Workgroup Master
--------- -------
WORKGROUP MAIN
- smb, nmb 서비스를 재시작한다.
[root@main /root]# service smb restart
SMB 서비스를 종료함: [ OK ]
SMB서비스를 시작하고 있습니다: [ OK ]
[root@main /root]# service nmb restart
NMB 서비스를 종료함: [ OK ]
NMB서비스를 시작하고 있습니다: [ OK ]
- clone1에서 main으로 마운트를 실시할 '/mnt/samba' 디렉토리를 생성하고, 마운트를 실시한다.
[root@clone1 /root]# mkdir /mnt/samba
[root@clone1 /root]# mount.cifs //172.20.1.1/public /mnt/samba -o user=user1
Password: centos
- 마운트 결과를 확인한다.
[root@clone1 /root]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 4.7G 635M 3.9G 14% /
tmpfs 242M 72K 242M 1% /dev/shm
/dev/sdc1 991M 1.3M 939M 1% /data
/dev/sdb1 991M 1.4M 939M 1% /home
/dev/sda3 13G 3.9G 8.3G 32% /usr
//172.20.1.1/public 4.7G 740M 3.8G 17% /mnt/samba
[root@clone1 /root]# ls /mnt/samba
passwd test
- main에서 Samba 상태를 확인한다.
[root@main /root]# smbstatus
Samba version 3.6.23-25.el6_7
PID Username Group Machine
-------------------------------------------------------------------
10781 user1 user1 172.20.1.101 (172.20.1.101)
Service pid machine Connected at
-------------------------------------------------------
IPC$ 10781 172.20.1.101 Tue Apr 19 10:28:42 2016
public 10781 172.20.1.101 Tue Apr 19 10:28:42 2016
No locked files
- 마운트를 해지한다.
[root@clone1 /root]# umount /mnt/samba
[root@clone1 /root]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 4.7G 635M 3.9G 14% /
tmpfs 242M 72K 242M 1% /dev/shm
/dev/sdc1 991M 1.3M 939M 1% /data
/dev/sdb1 991M 1.4M 939M 1% /home
/dev/sda3 13G 3.9G 8.3G 32% /usr
Ex4) clone1에서 main 공유 자원 접근 II
- 파일 서버 : Main Eth 0 (172.20.1.1)
- 클라이언트 : Clone1 Eth 0 (172.20.1.101)
- main에서 'smb.conf' 설정 파일에 다음과 같은 설정을 추가한다.
[root@main /root]# vi /etc/samba/smb.conf
~ 중간 생략 ~
292 # Main Samba Server Configuration 300 [test1] : wq! |
- smb, nmb 서비스를 재시작한다.
[root@main /root]# service smb restart
SMB 서비스를 종료함: [ OK ]
SMB서비스를 시작하고 있습니다: [ OK ]
[root@main /root]# service nmb restart
NMB 서비스를 종료함: [ OK ]
NMB서비스를 시작하고 있습니다: [ OK ]
- 'testparm' 명령어를 이용하여 'smb.conf' 설정 파일 내용을 점검한다.
[root@main /root]# testparm
Load smb config files from /etc/samba/smb.conf
rlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384)
Processing section "[homes]"
Processing section "[printers]"
Processing section "[public]"
Processing section "[test1]"
Processing section "[test2]"
Loaded services file OK.
Server role: ROLE_STANDALONE
Press enter to see a dump of your service definitions
(엔터)
[global]
server string = Main Samba Server %v
log file = /var/log/samba/log.%m
max log size = 50
idmap config * : backend = tdb
hosts allow = 127., 172.20.
cups options = raw
[homes]
comment = Home Directories
read only = No
browseable = No
[printers]
comment = All Printers
path = /var/spool/samba
printable = Yes
print ok = Yes
browseable = No
[public]
comment = Samba Test
path = /samba
read only = No
guest ok = Yes
[test1]
comment = Samba Test1
path = /test1
valid users = user1, user3
read only = No
[test2]
comment = Samba Test2
path = /test2
valid users = user2, user3
read only = No
- Samba 계정을 생성한다. 이때, 계정은 '/etc/passwd'에 등록된 계정으로 생성해야 한다.
[root@main /root]# smbpasswd -a user1
New SMB password: centos
Retype new SMB password: centos
[root@main /root]# smbpasswd -a user2
New SMB password: centos
Retype new SMB password: centos
Added user user2.
[root@main /root]# smbpasswd -a user3
New SMB password: centos
Retype new SMB password: centos
Added user user3.
[root@main /root]# pdbedit -L
user1:500:
user3:502:
user2:501:
-공유 디렉토리를 생성하고, 퍼미션을 변경한다.
[root@main /root]# mkdir /test1 /test2
[root@main /root]# chmod 777 /test1
[root@main /root]# chmod 777 /test2
[root@main /root]# cp /etc/passwd /test1
[root@main /root]# cp /etc/hosts /test2
[root@main /root]# ls /test1
passwd
[root@main /root]# ls /test2
hosts
- clone1에서 smb, nmb 서비스를 활성화한다.
[root@clone1 /root]# service smb start
SMB서비스를 시작하고 있습니다: [ OK ]
[root@clone1 /root]# service nmb start
NMB서비스를 시작하고 있습니다: [ OK ]
- clone1에서 'user1' 계정을 이용하여 main으로 Samba 접속 테스트를 실시한다.
[root@clone1 /root]# smbclient //172.20.1.1/test1 -U user1
Enter user1's password: centos
Domain=[WORKGROUP] OS=[Unix] Server=[Samba 3.6.23-25.el6_7]
smb: \>
smb: \> help
? allinfo altname archive blocksize
cancel case_sensitive cd chmod chown
close del dir du echo
exit get getfacl geteas hardlink
help history iosize lcd link
lock lowercase ls l mask
md mget mkdir more mput
newer open posix posix_encrypt posix_open
posix_mkdir posix_rmdir posix_unlink print prompt
put pwd q queue quit
readlink rd recurse reget rename
reput rm rmdir showacls setea
setmode stat symlink tar tarmode
timeout translate unlock volume vuid
wdel logon listconnect showconnect ..
!
smb: \>
smb: \> dir
. D 0 Tue Apr 19 10:17:11 2016
.. D 0 Tue Apr 19 10:16:58 2016
passwd 2095 Tue Apr 19 10:17:11 2016
38348 blocks of size 131072. 30431 blocks available
smb: \>
smb: \> lcd /tmp
smb: \> mget *
Get file passwd? y
getting file \passwd of size 2095 as passwd (511.5 KiloBytes/sec) (average 511.5 KiloBytes/sec)
smb: \>
smb: \> quit
[root@clone1 /root]# ls -l /tmp/passwd
-rw-r--r--. 1 root root 2095 2016-04-19 10:37 /tmp/passwd
- clone1에서 'user2' 계정을 이용하여 main으로 Samba 접속 테스트를 실시한다.
[root@clone1 /root]# smbclient //172.20.1.1/test2 -U user2
Enter user2's password: centos
Domain=[WORKGROUP] OS=[Unix] Server=[Samba 3.6.23-25.el6_7]
smb: \>
smb: \> dir
. D 0 Tue Apr 19 10:17:20 2016
.. D 0 Tue Apr 19 10:16:58 2016
hosts 257 Tue Apr 19 10:17:20 2016
38348 blocks of size 131072. 30431 blocks available
smb: \>
smb: \> lcd /tmp
smb: \> mget *
Get file hosts? y
getting file \hosts of size 257 as hosts (83.7 KiloBytes/sec) (average 83.7 KiloBytes/sec)
smb: \> quit
[root@clone1 /root]# ls -l /tmp/hosts
-rw-r--r--. 1 root root 257 2016-04-19 10:39 /tmp/hosts
'서버 > Linux III' 카테고리의 다른 글
Linux III - 15. Syslog 서버 (0) | 2016.04.19 |
---|---|
Linux III - 14. NTP 서버 & 클라이언트 (0) | 2016.04.19 |
Linux III - 12. Apache 웹-서버 (Tomcat & Tomcat-Connector) (0) | 2016.04.06 |
Linux III - 11. Apache 웹-서버 (PHP & MySQL) (0) | 2016.04.06 |
Linux III - 10. DNS 서버 (0) | 2016.03.25 |