文件共享:Samba
阿新 • • 發佈:2018-01-12
服務 global 資源 -- 查詢 主機 默認 can 刪除
Samba共享服務
– 用途:為客戶機提供共享使用的文件夾
– 協議:SMB(TCP 139)、CIFS(TCP 445)
客戶端訪問服務端資源會遇到的四個問題:
1,服務端,服務的訪問控制
2,服務端,防火墻
3,服務端,SELinux策略
4,服務端,本地權限
SELinux策略,布爾值(開啟或關閉)
? getsebool-a 查看所有 SELinux 開關
? setsebool 控制 SELinux 開關
需要加 -P 選項才能實現永久設置
配置SMB文件夾共享
? 所需軟件包:samba
? 系統服務:smb
配置文件:/etc/samba/smb.conf
? Samba用戶 —— 專用來訪問共享文件夾的用戶
--采用獨立設置的密碼
--但需要提前建立同名的系統用戶(可以不設密碼)
如果需要設置密碼:
? 使用 pdbedit 管理工具
– 添加用戶:pdbedit -a 用戶名
– 查詢用戶:pdbedit -L [用戶名]
– 刪除用戶:pdbedit -x 用戶名
要求在虛擬機 server0 上發布兩個共享文件夾,具體要求如下:
1,此服務器必須是 STAFF 工作組的一個成員
2,發布目錄 /common,共享名為 common
3,發布目錄 /devops,共享名為 devops
4,這兩個共享必須是可瀏覽的,只有 example.com 域內的客戶端可以訪問
5,用戶 harry 對共享 common 只讀,密碼是 migwhisk
6,用戶 kenji 對共享 devops 只讀,密碼是 atenorth
7,用戶 chihiro 對共享 devops 可讀寫,密碼是atenorth
服務端:
1,安裝軟件包samba
[root@server0 ~]# yum -y install samba
2,創建共享賬號
添加共享賬號harry,密碼為migwhisk:
[root@server0 ~]# useradd harry
[root@server0 ~]# pdbedit -a harry //根據提示設好密碼migwhisk
添加共享賬號kenji,密碼為atenorth:
[root@server0 ~]# useradd kenji
[root@server0 ~]# pdbedit -a kenji //根據提示設好密碼atenorth
添加共享賬號chihiro,密碼為atenorth:
[root@server0 ~]# useradd chihiro
[root@server0 ~]# pdbedit -a chihiro //根據提示設好密碼atenorth
確認共享賬號:
[root@server0 ~]# pdbedit -L
harry:1003:
chihiro:1005:
kenji:1004:
3,準備共享文件夾
[root@server0 ~]# mkdir /common
[root@server0 ~]# mkdir /devops
[root@server0 ~]# setfacl -m u:chihiro:rwx /devops //配置寫入權限
4,調整SELinux開關策略,允許發布可寫的Samba共享資源
[root@server0 ~]# getsebool -a | grep ^samba_exp //默認配置
[root@server0 ~]# setsebool -P samba_export_all_rw=on //永久打開設置
[root@server0 ~]# getsebool -a | grep ^samba_exp //查看結果
5,配置共享目錄
[root@server0 ~]# vim /etc/samba/smb.conf
[global]
workgroup = STAFF
.. ..
[common]
path = /common
hosts allow = 172.25.0.0/24
[devops]
path = /devops
hosts allow = 172.25.0.0/24
write list = chihir
6,啟動系統服務smb,並設置開機自啟
[root@server0 ~]# systemctl restart smb
[root@server0 ~]# systemctl enable smb
[root@server0 ~]# netstat -antpu | grep smb
客戶端:
1,安裝軟件包samba-client
[root@server0 ~]# yum -y install samba-client
2,瀏覽目標主機提供了哪些共享資源
[root@desktop0 ~]# smbclient -L server0.example.com
3,連接目標主機的共享目錄
[root@desktop0 ~]# smbclient -U harry //server0.example.com/common
多用戶Samba掛載
Samba客戶端的multiuser掛載:支持切換訪問Samba共享的用戶身份,但不需要重新掛載共享資源。掛載參數需要添加“multiuser,sec=ntlmssp”,客戶機上的普通用戶可以通過cifscreds命令提交新的身份憑據。
在客戶端掛載Samba共享目錄,需要軟件包cifs-utils的支持。
為訪問網絡資源配置開機掛載時,註意添加參數“_netdev”,表示等客戶機網絡配置可用以後才掛載對應資源。
1,創建掛載點
[root@desktop0 ~]# mkdir /mnt/dev
2,安裝cifs-utils軟件包
[root@desktop0 ~]# yum -y install cifs-util
3,配置開機掛載
[root@desktop0 ~]# vim /etc/fstab
//server0.example.com/devops /mnt/dev cifs username=kenji,password=atenorth,_netdev 0 0
4,測試掛載配置
[root@desktop0 ~]# mount -a
[root@desktop0 ~]# df -hT /mnt/dev
5,修改掛載配置,添加多用戶支持
[root@desktop0 ~]# vim /etc/fstab
//server0.example.com/devops /mnt/dev cifs username=kenji,password=atenorth,multiuser,sec=ntlmssp,_netdev 0 0
[root@desktop0 ~]# umount /mnt/dev //卸載此共享
[root@desktop0 ~]# mount /mnt/dev //重新掛載此共享
6,驗證多用戶訪問
切換到普通用戶student驗證,無權訪問掛載點/mnt/dev:
[root@desktop0 ~]# su - student
[student@desktop0 ~]$ ls /mnt/dev
ls: cannot access /mnt/dev: Permission denied
以共享用戶chihiro身份提交新的訪問憑據,再次驗證,對掛載點/mnt/dev可讀寫:
[student@desktop0 ~]$ cifscreds -u chihiro add server0.example.com
Password: //輸入共享賬號chihiro的密碼
[student@desktop0 ~]$ touch /mnt/dev/a.txt
[student@desktop0 ~]$ ls /mnt/dev/a.txt
/mnt/dev/a.txt
文件共享:Samba