cifs文件系統{samba文件共享服務}

一.samba介紹linux

1.提供cifs協議實現共享文件,主要用於windows與linux的網絡文件系統ios

 

 

 

 

 

 

 

 

 

 

二.搭建環境安裝服務vim

1.配置yum倉庫windows

2.關閉防火牆安全

systemctl stop firewalld服務器

3.安裝軟件,設置開機自動啓動網絡

yum install samba samba-common samba-client -y     ide

systemctl start smb   開啓samba服務測試

systemctl enable smb   設置開機自動啓動spa

 

(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能夠訪問

相關文章
相關標籤/搜索