Samba共享服務搭建
阿新 • • 發佈:2020-10-14
服務端安裝 yum -y install samba
客戶端安裝 yum -y install cifs-utils
配置檔案引數:
[global]
workgroup = MYGROUP
server string = Samba Server Version %v
log file = /var/log/samba/log.%m
max log size = 50
security = user #設定認證方式為user認證
passdb backend = smbpasswd
smb passwd file = /etc/samba/smbpasswd
username map = /etc/samba/smbusers
ntlm auth = yes #配置ntlm相容性(XP無法訪問需要開啟此項)
load printers = yes
cups options = raw
[public]
comment = public files server
path = /smb #目共享錄路徑
write list = user,user1 #設定可以寫入的使用者
valid users = @xues,@user #設定可以訪問的組
create mask = 0664
directory mask = 0775
設定訪問使用者
valid users = 使用者名稱,使用者名稱,... [多個使用者用,號隔開]
valid users = @組名 [設定一個組]
設定目錄讀寫
writable = yes #設定目錄是否可讀寫
write list = 使用者名稱 #設定指定使用者可讀寫 [設定此項需要把上一項(writable = yes)註釋掉,否則不起作用]
控制訪問源
hosts allow #定義允許訪問的客戶端
hosts deny #定義禁止訪問的客戶端
舉例:
hosts allow = 192.168.1. #允許192.168.1.0/24網段訪問
hosts allow = 192.168.1. EXCEPT 192.168.1.5 #排除特定地址
賬號對映:1 passdb backend = smbpasswd 2 smb passwd file = /etc/samba/smbpasswd 3 username map = /etc/samba/smbusers #smb.conf新增一條配置檔案, 指定到smbusers這個檔案 4 [root@VM ~] useradd -M -s /sbin/nologin xues #新增一個xues系統使用者,可以不建立家目錄 5 [root@VM ~] smbpasswd -a xues #建立smb賬戶[smb賬戶必須是系統賬戶] 6 [root@VM ~] vi2、客戶端掛載 1,查詢samba-client是否已經安裝:rpm -qa | grep samba-client,也可以使用yum info samba-client或yum list samba-client之類的命令。 2,安裝samba-client yum -y install samba-client 3,訪問共享“smbclient -L //IP地址 -U 使用者名稱”檢視一下該使用者共享許可權下的共享情況。其中不帶“$”的那個,就是我們可以訪問的共享檔案夾了,其中“-U”是用來指定查詢共享許可權的使用者名稱的。 4,掛載共享資料夾: mount -t cifs -o user=使用者名稱稱,password=共享密碼,iocharset=utf8,codepage=cp936 //共享IP地址或NetBIOS名稱/共享目錄。 其中cifs使用Linux常用的網路檔案型別,也可以使用smbfs,以系統可以識別為準,如Ubuntu常見命令就是“sudo mount -t smbfs -o user=使用者名稱稱,password=共享密碼,iocharset=utf8,codepage=cp936 //共享IP地址或NetBIOS名稱/共享目錄”。“-o”表示掛載引數,常見的是需要提供共享的使用者名稱和密碼,另外需要注意的是iocharset和codepage,這兩個引數是用來解決系統之間的字元編碼轉換的,如果出現亂碼的情況,是需要調整這兩個引數的,針對簡體中文,使用utf8和cp936一般都可以解決問題。 掛載samba共享遇到mount error(13): Permission denied的解決方法 在掛載命令裡新增 sec=ntlmssp 5、取消掛載 umount -l /mnt/etc/samba/smbusers #編輯 /etc/samba/smbusers配置檔案,給xues使用者加幾個對映賬戶 xue1 xue2 xue3 ...,對映到剛才建立的系統使用者xues
設定SELinux服務與策略,使其允許通過Samba服務程式訪問普通使用者家目錄。執行getsebool命令,篩選出所有與Samba服務程式相關的SELinux域策略,根據策略的名稱(和經驗)選擇出正確的策略條目進行開啟即可: [root@linuxprobe ~]# getsebool -a | grep samba samba_create_home_dirs --> off samba_domain_controller --> off samba_enable_home_dirs --> off samba_export_all_ro --> off samba_export_all_rw --> off samba_portmapper --> off samba_run_unconfined --> off samba_share_fusefs --> off samba_share_nfs --> off sanlock_use_samba --> off use_samba_home_dirs --> off virt_sandbox_use_samba --> off virt_use_samba --> off [root@linuxprobe ~]# setsebool -P samba_enable_home_dirs on