Samba 是在 Linux 和 UNIX 系統上實現 SMB 協議的一個免費軟件,由服務器及客戶程序構成,SMB(Server Messages Block,)是一種在局域網上共享文件和打印機的一種通信協議,它爲局域網內的不同計算機之間提供文件及打印機等資源的共享服務。SMB 協議是客戶機/服務器型協議,客戶機通過該協議可以訪問服務器上的共享文件系統、打印機及其他資源。通過設置“NetBIOSover TCP/IP”使得 Samba 不但能與局域網絡主機分享源,還能與全世界的電腦分享資源。
(1)準備工作
1). 防火牆關閉,selinux開啓;
2). desktop:172.25.254.126 (desktop126.example.com)
server:172.25.254.139(server139.example.com)
3). vim /etc/hosts
(2)samba簡單配置
**- samba服務端配置
yum install samba-client samba-common samba -y//安裝samba服務端需要的軟件
systemctl start smb
systemctl start nmb//啓動samba服務,smb(tcp),nmb(udp),並設置服務開機自啓
netstat -antlupe | grep -E 'nmb|smb'//顯示smb,nmb端口
**- 客戶端檢測:
smbclient -L //172.25.254.139//客戶端匿名用戶登陸samba服務,查看服務端共享的內容
(3)通過samba共享目錄之匿名用戶訪問
**- samba服務端配置:
1). 創建共享目錄
mkdir /smbshare/smb{1..3} -p
chcon -t samba_share_t /smbshare/ -R
//臨時設置selinux安全上下文,參考文件/etc/samba/smb.conf
semanage fcontext -a -t samba_share_t '/smbshare(/.*)?'
restorecon -FvvR /smbshare
2). 修改配置/etc/samba/smb.conf,末尾添加內容如下:
vim /etc/samba/smb.conf
@@
124map to guest = bad user
322 # my samba share directory is /smbshare
323[mywestos]
324comment = My samba share
325path = /smbshare
326public = yes
327 guest ok = yes
328writable = yes
@@
systemctl restart smb
**- 客戶端檢測:
smbclient -L //server139//顯示server139主機共享的目錄
smbclient //server139/mywestos//交互式訪問samba服務共享的內容
yum install cifs-utils -y
mount //172.25.254.139/mywestos /mnt/ -o username=guest
vim /etc/fstab//設置samba共享永久掛載
@@
//server139/mywestos /mnt cifs defaults 0 0
@@
注意:不能對samba共享目錄操作時,解決辦法:修改服務端共享目錄的權限,
chmod 777 /smbshare
(4)通過samba共享本地用戶家目錄之本地用戶訪問
**- samba服務端配置:
1).創建可以使用samba的帳號和密碼
useradd user1
useradd user2
useradd user3
smbpasswd -a user1
smbpasswd -a user2
smbpasswd -a user3
setsebool -P samba_enable_home_dirs on
**- 客戶端檢測:
smbclient -L //server139 -U user1
smbclient -L //server139/user1 -U user1
(5)通過samba共享新建目錄之本地用戶訪問
**- samba服務端配置:
groupadd smbgroup
usermod -aG smbgroup user1
usermod -aG smbgroup user2
Vim /etc/samba/smb.conf
@@
323# my samba share directory is /smbshare
324[mywestos]
325comment = My samba share
326path = /smbshare
327 ;public = yes
328 ;guest ok = yes
329valid users = user2
//允許哪些用戶或者用戶組訪問該共享目錄,+smbgroup|@smbgroup
330write list = @smbgroup
//允許哪些用戶或者用戶組往該共享目錄中寫入內容
@@
**- 客戶端檢測:
mount //server139/mywestos /mnt -o username=user1,passwd=user1
**永久掛載1:
vim /etc/fstab
@@
//server139/mywestos /mnt cifs defaults,username=user1,password=user10 0
@@
**永久掛載2:
vim /root/smbpasswd
@@
user=user1
pass=user1
@@
vim /etc/fstab
@@
//server139/mywestos /mnt cifs defaults,credentials=/root/smbpasswd0 0
@@
(6)客戶端多用戶掛載
**- 客戶端操作:
yum install cifs-utils -y
vim /root/smbpasswd
@@
user=user1
pass=user1
user=user2
pass=user2
user=user3
pass=user3
@@
vim /etc/fstab
@@
//server139/mywestos /mnt cifs defaults, credentials=/root/smbpasswd,multiuser, sec=ntlmssp0 0
@@
檢驗方式:
在客戶端新建用戶user{1,2,3},當切換用戶到user1用戶時,默認訪問不到/mnt的內容。
激活方式如下:
cifscreds add server139