1. 程式人生 > 實用技巧 >Samba共享服務搭建

Samba共享服務搭建

服務端安裝 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 ~]  vi
/etc/samba/smbusers  #編輯 /etc/samba/smbusers配置檔案,給xues使用者加幾個對映賬戶 xue1 xue2 xue3 ...,對映到剛才建立的系統使用者xues
2、客戶端掛載 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
設定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