Linux的samba文件服務
一.samba提供cifs協議實現共享文件
1.SMB文件共享,通用Internal文件系統(CIFS)也稱為服務器信息塊(SMB),是適用於Microsoft Windows服務器和客戶端的標準文件和打印機共享系統。
2.Samba服務器可用於將Linux文件系統作為CIFS / SMB網絡文件共享進行共享,並將linux打印機作為CIFS / SMB打印機共享進行共享
二.安裝環境
Samba-client - 客戶端應用程序
Samba - 服務器應用程序
yum install samba samba-common samba-client -y
systemctl start smb
systemctl enable smb
三.添加smb用戶
1.smb用戶必須時本地用戶
smbpasswd -a student
New SMB password: 輸入smb當前用戶密碼
Retype new SMB password: 確認密碼
pdbedit -L 查看smb用戶信息
2.以student登陸無法顯示共享內容,主要是Selinux的開啟無法正常訪問
在SElinux開啟情況下,修改的sebool值,打開訪問家目錄權限,打開後可以訪問
setsebool -P enable_samba_home_dirs on 在selinux中設定smb用戶可以訪問自己的家目錄
四.共享目錄的基本設定
1.基本設置
編輯配置文件vim /etc/samba/smb.conf
workgroup = westos 工作組名稱
[westos] 共享名稱
comment = 對共享目錄的描述
path = 共享目錄的絕對路徑
smbclient -L //172.25.254.128 -U student 可看到所創建的共享目錄
2.當共享目錄為用戶自建立目錄時,需要修改新建目錄的上下文
semanage fcontext -a -t samba_share_t ‘目錄名稱(/.*)?‘
restorecon -RvvF 目錄名稱
3.當共享目錄為系統建立目錄,為了不影響修改上下文對別的服務影響,修改SElinux的sebool值
setsebool -P samba_export_all_ro on 只讀共享
setsebool -P samba_export_all_rw on 讀寫共享
系統目錄文CONFIG /mnt
沒有修改,無法看見文件
修改samba的讀取權限後可以正常讀取文件
開啟只讀共享後:smbclient //172.25.254.128/CONFIG -U student
五.samba的配置參數
1.匿名用戶訪問
guest ok = yes
map to guest = bad user 客戶訪問匿名
2.訪問控制
hosts deny = 僅拒絕
拒絕128登陸
hosts allow = 僅允許
hosts allow =172.25.254.28,允許28登陸
valid users = 當前共享的有效用戶
valid users = student 當前共享的有效用戶為student
未添加共享的有效用戶student ,無法訪問
編輯配置文件vim /etc/samba/smb.conf,添加共享有效用戶後可以訪問
valid users = @student 當前共享的有效用戶為student組
valid users = +student 當前共享的有效用戶為student 組
新建用戶lee,屬於student組,屬於有效訪問組的用戶
編輯配置文件vim /etc/samba/smb.conf為+student後,lee用戶可以訪問
3.讀寫控制
所有用戶均可寫
chmod o+w /mnt
setsebool -P samba_export_all_rw on
vim /etc/samba/smb.conf
writable = yes
mount -o username=student,password=123 //172.25.254.128/CONFIG /mnt/ 在客戶端上以student身份將172.25.254.128/CONFIG掛載到/mnt上
設定指定用戶可寫
write list = student #可寫用戶
write list = +student #可寫用戶組
write list = @student
admin users = westos #共享的超級用戶指定
6.smb多用戶掛載
在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
Linux的samba文件服務