參考網址:https://www.cnblogs.com/lxyqwer/p/7271369.html
samb服務基礎
軟體包:samba
協定:SMP(TCP139)CIFS(445)
配置檔案路徑:/etc/samba/smb.conf
安裝軟體
yum -y install samba
重新開機服務
systemctl restart smb
samba帳号的管理
samba使用者:a、提前建立同名的系統使用者(可不設定密碼)
b、采用獨立于系統的密碼
管理工具:pdbedit
添加使用者:-a
查詢使用者:-L
删除使用者:-x
添加使用者示例:
[[email protected] ~]# useradd user //添加系統使用者
[[email protected] ~]# pdbedit -a user //添加與系統使用者同名的samba使用者
new password: //互動式設定密碼
retype new password:
Unix username: //添加成功後顯示的内容
配置檔案解讀:
[[email protected] ~]# vim /etc/samba/smb.conf
[global] //全局配置
workgroup = MYGROUP
[homes] //家目錄共享
[printers] //列印機共享
[samba]
path = /smb/ //共享目錄路徑
; public = yes|no //預設no;公用的
; browseable = yes|no //預設yes;是否可以浏覽
; read only = yes|no //預設yes;隻讀
; writable = yes|no //預設yes;可寫
write list = user //預設無;可寫入的使用者清單
valid users = user,user1//預設所有使用者;有效的使用者清單
; hosts allow = 客戶位址 //允許的客戶機位址
; hosts deny = 客戶位址 //禁止的客戶機位址
; comment = 注釋 //說明
權限設定:
修改使用者對目錄的讀寫執行權限
[email protected] ~]# setfacl -m u:user:rwx /smb
設定SELinux對samba共享的保護
a、用getseboolbool檢視selinux開關
[[email protected] ~]#getsebool -a | grep samba_export
samba_export_all_ro --> off
samba_export_all_rw --> off //是否允許可讀寫共享
b、用setsebool控制SELinux開關
[[email protected] ~]# setsebool -P samba_export_all_rw=on
[[email protected] ~]# setsebool -P samba_export_all_ro=on //打開
用戶端通路共享目錄
所需軟體包:samba-client
1、列出共享資源:smbclient -L 伺服器位址
[[email protected] ~]smbclient -L 192.168.4.7
Enter root's password: //此處無需輸入密碼,直接回車
Anonymous login successful
Domain=[SAMBA] OS=[Windows 6.1] Server=[Samba 4.2.3]
Sharename Type Comment
--------- ---- -------
................................
[[email protected] ~]# smbclient -U user //192.168.4.7/tools(共享名)
Enter user's password: //輸入samba使用者user的密碼
Domain=[SAMBA] OS=[Windows 6.1] Server=[Samba 4.2.3]
smb: \> ls
. D 0 Fri Jul 28 22:02:25 2017
.. DR 0 Fri Jul 28 21:32:58 2017
D 0 Fri Jul 28 22:02:25 2017
1、用戶端登入samba時出現以下提示:
session setup failed: NT_STATUS_LOGON_FAILURE
該錯誤提示表示使用者有誤,可能是使用者不存在,也可能是密碼錯誤,或者隻是在samba使用者和系統使用者及密碼出現錯誤,總之就是使用者和密碼的問題。
tree connect failed: NT_STATUS_BAD_NETWORK_NAME
該錯誤表示壞的網絡名,表示共享目錄不存在,或共享目錄權限問題
可用setfacl -m給使用者權重限
Connection to 192.168.4.7 failed (Error NT_STATUS_HOST_UNREACHABLE)
2、用戶端連接配接到samba共享目錄時出現以下提示:
smb: \> ls
NT_STATUS_ACCESS_DENIED listing \*
檔案權限不足,或者存在selinux限制
調整檔案的權限,并打開selinux開關
3、執行setsebool -P 操作啟用SElinux開關參數時失敗,提示:Killed
記憶體不足,而且交換空間也不足
添加交換分區(1GB)在重試
待完善。。。。。。