運維學習之cifs(Samba)文件系統服務
samba
1.samba
提供cifs協議實現共享文件
Samba是在Linux和UNIX系統上實現SMB協議的一個免費軟件,由服務器及客戶端程序構成。SMB(Server Messages Block,信息服務塊)是一種在局域網上共享文件和打印機的一種通信協議,它為局域網內的不同計算機之間提供文件及打印機等資源的共享服務。SMB協議是客戶機/服務器型協議,客戶機通過該協議可以訪問服務器上的共享文件系統、打印機及其他資源。通過設置“NetBIOS over TCP/IP”使得Samba不但能與局域網絡主機分享資源,還能與全世界的電腦分享資源。
2.安裝
yum install samba samba-common samba-client -y
systemctl start smb nmb
systemctl enable smb nmb
安裝所需服務
3.添加smb用戶
smb用戶必須是本地用戶
smbpasswd -a student
New SMB password: #輸入smb當前用戶密碼
Retype new SMB password: #確認密碼
pdbedit -L #查看smb用戶信息
pdbedit -x smb用戶 #刪除smb用戶
setsebool -P enable_samba_home_dirs on ##在selinux中設定smb用戶可以訪問自己的家目錄
匿名用戶查看共享目錄信息
添加student到smb用戶,嘗試添加不存在的用戶westos不成功,用命令查看是否添加成功
student用戶查看共享目錄的信息
以student用戶查看student共享目錄,查看selinux狀態為強制,更改狀態為警告,再進行查看
已經可以在別的主機進行掛載
修改sebool值,打開家目錄訪問權限,設定smb用戶可以訪問自己的家目錄
4.共享目錄的基本設定
vim /etc/samba/smb.conf
[haha] 共享名稱
comment = 對共享目錄的描述
path = 共享目錄的絕對路徑
workgroup = WESTOS
更改域名為westos,允許172.25.254.0/24網段查看
域名已被更改
創建兩個共享目錄,一個路徑為自建的/westos,一個為系統建立目錄/mnt
student用戶登陸,可以看到新添加的共享目錄
當共享目錄為用戶自建立目錄時
semanage fcontext -a -t samba_share_t ‘目錄名稱(/.*)?‘
restorecon -RvvF 目錄名稱
當共享目錄為系統建立目錄
setsebool -P samba_export_all_ro on #只讀共享
setsebool -P samba_export_all_rw on #讀寫共享
5.samba的配置參數
#匿名用戶訪問
guest ok = yes
map to guest = bad user
在DATA目錄配置下寫入匿名用戶可登陸
在26主機測試可以以匿名用戶的形式掛載共享目錄
26自動掛載配置
掛載成功
#訪問控制
hosts allow = #僅允許
hosts deny = #僅拒絕
valid users = #當前共享的有效用戶
valid users = westos #當前共享的有效用戶為westos
valid users = @westos #當前共享的有效用戶為westos組
valid users = +westos #當前共享的有效用戶為westos組
#讀寫控制
所有用戶均可寫
chmod o+w /mnt
setsebool -P samba_export_all_rw on
vim /etc/samba/smb.conf
writable = yes
掛載後嘗試建立文件失敗
更改配置為所有用戶均可寫
在126主機給/westos一個滿權限
可以創建和刪除文件
設定指定用戶可寫
write list = student #可寫用戶
write list = +student #可寫用戶組
write list = @student
admin users = westos #共享的超級用戶指定
配置CONFIG內容如下
給與/mnt滿權限,打開讀寫權限
掛載共享目錄到26主機的/mnt,可以創建文件和刪除文件
6.smb多用戶掛載
創建新用戶lee,且讓lee成為smb用戶
lee用戶可以掛載,但權限不夠
添加student組可以執行讀寫操作
把lee添加進student組
可以刪除
設定lee登陸後創建的文件屬於root
因為26主機中沒有uid為1001的用戶,所以顯示的為1001,126主機中顯示為lee
在client上
vim /root/haha
username=student
password=lee
chmod 600 /root/haha
yum install cifs-utils -y
mount -o credentials=/root/haha,multiuser,sec=ntlmssp //172.25.254.100/haha /mnt/
#credentials=/root/haha 指定掛載時所用到的用戶文件
#multiuser 支持多用戶認證
#sec=ntlmssp 認證方式為標準smb認證方式
su - kiosk
ls /mnt
ls: cannot access /mnt: Permission denied #因為沒有作smb的認證所以無法訪問smb共享
cifscreds add -u westos 172.25.254.100
Password: ##smb用戶westos的密碼
ls /mnt
運維學習之cifs(Samba)文件系統服務