天天看點

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值(否則無法看到檔案)

[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.匿名使用者通路

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可以通路

繼續閱讀