Linux如何搭建Samba文件共享服務?
我是王海軍老師,專注于互聯網技術教學,樂于解答大家相關問題。
感謝邀請,前幾天 做了個 vsftpd服務器,感覺做的很累,雖然挺安全的,但是一些問題還是 是不是的會出現 ,就比如那個 Windos客戶機在上傳文件的時候,文件名莫名奇妙的亂碼了,我也改了好多種 編碼格式 ,最終 我還是 決定 用 samba作為文件共享吧 ,不說別的就是省事簡潔.
咱們先說說什么是Samba吧
SMB服務器就是為了解決局域網內的文件或打印機等資源的共享服務問題,讓多個主機之間共享文件變成越來越簡單。
不說別的了 我們就來練手吧
第一步:yum install samba -y
第二步:設置防火墻策略
添加samba服務到防火墻策略中
重啟防火墻
查看服務是否添加:
第三步:編輯samba配置文件
vim /etc/samba/smb.conf
添加一段: 如上圖
【feixiangkeji】
comment = please do not modify it all will (comment是對該共享的描述,可以是任意字符串)path = /home/feixiangkeji (共享的路徑)writable = yes 是否寫入public = no 是否公開 ?。?!保存 退出第四步: 添加feixiangkeji用戶
設置為 不予許登入系統,且用戶的家目錄為 /home/feixiangkeji (也就相當于虛擬賬號)
id + 用戶名 查看用戶 屬性
pdbedit 命令 用于管理SMB服務的帳戶信息數據庫,格式為:“pdbedit [選項] 帳戶”,第一次把用戶信息寫入到數據庫時需要使用-a參數,以后修改用戶密碼、刪除用戶等等操作就不再需要了
pdbedit -L :查看samba用戶
pdbedit -a -u user:添加samba用戶
pdbedit -r -u user:修改samba用戶信息
pdbedit -x -u user: 刪除samba用戶
ps:同樣 samba服務數據庫的密碼也可以用 smbpasswd 命令 操作
smbpasswd -a 用戶名 #添加一個samba用戶
smbpasswd -d 用戶名 #禁用一個samba用戶
smbpasswd -e 用戶名 #恢復一個samba用戶
smbpasswd -x 用戶名 #刪除一個samba用戶
第五步:修改 samba用戶 的家目錄權限
接下來 我們就試試效果
systemctl restart smb 重啟 samba 服務
systemctl enable smb 把samba服務添加到開機啟動項目中
我們這里用windos 客戶端測試! \192.168.1.147
為什么 會這樣呢 ,會不會是 SElinux 的問題 呢 我們先試試調整selinux,然后再登入試試
我首先想到的是上下文的安全關系:
semanage fcontext -a -t samba_share_t /home/feixiangkeji/
如果系統出現 下圖的報錯 ,說明你系統里沒有安裝 semanage 命令
沒有 那我們就要安裝 :
yum provides /usr/sbin/semanage //查找命令或文件對應包名
yum install -y policycoreutils-python
然后我們再執行一次
semanage fcontext -a -t samba_share_t /home/feixiangkeji/
執行完成后,不要忘了刷新上下文關系
restorecon -Rv /home/feixiangkeji/
允許SElinux對于SMB用戶共享家目錄的布爾值
再次重啟SMB 服務
再用windos客戶端 嘗試:
PS: 對于windos 系統 中默認 的是記住你上次登入的信息(系統重啟后,就要輸入賬號,密碼)
這是 小編 使用 net use * /d /y 忘記 當前 所有已經連接的網絡共享
輸入 \192.168.1.147
能向文件夾中寫入文件,說明我們的samba 服務 已經完全 搭建成功啦 !?。?!
歡迎大家關注我,在下方評論區說出自己的見解,我們共同學習交流。