cifs文件系统{samba文件共享服务}
一.samba介紹
1.提供cifs協議實現共享文件,主要用于windows與linux的網絡文件系統
?
?
?
?
?
?
?
?
?
?
二.搭建環境安裝服務
1.配置yum倉庫
2.關閉防火墻
systemctl stop firewalld
3.安裝軟件,設置開機自動啟動
yum install samba samba-common samba-client -y ????
systemctl start smb ??開啟samba服務
systemctl enable smb ??設置開機自動啟動
?
(samba-common ?samba的支持文件);(samba-client ?客戶端應用程序);(samba ?服務器的應用程序)
?
三.添加smb用戶
1.smb用戶必須是本地用戶
smbpasswd -a student ????(添加student用戶)
New SMB password:?輸入smb當前用戶密碼
Retype new SMB password:?確認密碼
?
pdbedit -L?查看smb用戶信息
pdbedit -x smb用戶??????????刪除smb用戶
?
2.查看selinux的狀態,如果是enforencing,修改samba服務的sebool值,并且打開家目錄的訪問權限。
getenforce ?????查看selinux的狀態
setsebool -P enable_samba_home_dirs ?on(selinux是enforce的狀態下)
?
3.以student用戶的身份(客戶端)去訪問samba服務共享出來的student用戶的家目錄。
smbclient //172.25.254.124/student -U student ???訪問student用戶的家目錄
Enter student's password: ????????輸入該用戶的密碼
?
四.設定共享目錄
1.基本配置
編輯配置文件 vim /etc/samba/smb.conf
workgroup mkdir= westos ??工作組的名稱
?
[DATA] ?共享目錄的名稱
comment = local directory ???對共享目錄的描述
path= /westos ???共享目錄的路徑 ?
?
查看創建的共享目錄 smbclient -L //172.25.254.124 -U student ?
?
2.當共享目錄為用戶自己建立的目錄時,需要修改新建目錄的安全上下文(否則無法在共享目錄中看到文件)
mkdir /westos ???創立共享目錄
touch /westos/linuxfile{1..3} ??建立文件
ls -lZd /westos/ ????查看目錄的安全上下文
semanage fcontext -a -t samba_share_t '目錄名稱(/.*)?' ??(/.*)?表示匹配目錄及目錄以下所有文件
restorecon -RvvF 目錄名稱 ??????刷新目錄里內容的安全上下文
?
3.當共享目錄為系統級目錄,為了不影響修改安全上下文對別的服務的影響,修改selinux中的sebool值(否則無法看到文件)
編輯配置文件 vim /etc/samba/smb.conf
?
[CONFIG] ?共享目錄的名稱
comment = config directory ???對共享目錄的描述
path= /mnt ???共享目錄的路徑 ?
?
以student身份查看共享的系統目錄 smbclient //172.25.254.124/CONFIG -U student
ls ??無法查看到文件
?
getsebool ?-a | grep samba ??????過濾出samba服務的sebool值
setsebool ?-P samba_export_all_ro on#只讀共享
setsebool ?-P samba_export_all_rw on#讀寫共享
?
4.再次以student用戶的身份去訪問samba服務共享的文件
smbclient //172.25.254.124/CONFIG -U student
ls ??可以看到目錄下文件
?
五.samba的配置參數
1.匿名用戶訪問
編輯配置文件 vim /etc/samba/smb.conf
guest ok = yes
map to guest = bad user
?
2.訪問控制
hosts deny = ip ?只拒絕該主機訪問
hosts allow = ip 只允許該主機訪問
valid users = 用戶 當前共享有效的用戶
valid users = @student 當前共享的有效用戶為student組
valid users = +student 當前共享的有效用戶為student組
?
3.讀寫控制
服務端:
所有用戶均可寫
chmod o+w /mnt ???給其他用戶/mnt目錄寫權限
setsebool -P samba_export_all_rw on ????改變selinux中sebool值,打開讀寫權限
vim /etc/samba/smb.connf
writable = yes ?????????????????????????打開配置文件中的寫權限
客戶端:
mount -o username=student,password=redhat //172.25.254.124/CONFIG /mnt/ ?以student身份將172.25.254.124共享的CONFIG掛載到/mnt上
測試讀寫權限
?
4.設定指定用戶可寫
編輯配置文件 ?vim /etc/samba/smb.conf
write list = student ??可寫用戶
用student用戶掛載目錄,可以進行寫操作;用lu用戶掛載目錄,沒有權限進行寫操作
?
weite list = +student ?可寫用戶組
write list = @student ?可寫用戶組(兩種方式都表示組用戶可寫)
?
六.smb多用戶掛載
1.在客戶端安裝cifs-utils軟件
2.創建訪問時所需要的用戶名和密碼
vim /root/westos ?(創建身份認證文件)
username=student ?????
password=redhat ????(格式)
?
chmod 600 /root/westos 只有root擁有讀寫權限
?
3.多用戶掛載
mount -o credentials=/root/westos,multiuser,sec=ntlmssp //172.25.254.124/CONFIG /mnt/
credentials=/root/westos ??指定掛載時用到的用戶身份認證文件
multiuser ????支持多用戶認證
sec=ntlmssp ??認證方式為smb認證
?
4.測試
su - kiosk
ls /mnt
ls: cannot access /mnt: Permission denied#因為沒有做smb的認證所以無法訪問smb共享
(沒有作smb的認證所以無法訪問smb共享)
cifscreds add -u student 172.25.254.124 ????為用戶tom認證
Password: ???smb用戶student的密碼
ls /mnt ?可以看到/mnt目錄下的文件
?
cifscreds clear -u student 172.25.254.124 清除認證后,用戶lu無法訪問
cifscreds add -u student 172.25.254.124 student認證后tom可以訪問
本文轉自 lulu2017 51CTO博客,原文鏈接:http://blog.51cto.com/13132425/1958182
總結
以上是生活随笔為你收集整理的cifs文件系统{samba文件共享服务}的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: 在Centos上编译安装nginx
- 下一篇: java-第九章-编写程序,打印如图案,
