Linux Samba Service HOW-TO
透過 Linux 的 samba service 我們可以讓 Linux 將某個資料匣分享到網路上(一般來說是指內網, 類似 windows 網路芳鄰), 那麼要如何進行設定呢? 我們以下就以一個超簡單的範例來做說明!!
安裝相關套件
sudo apt -y install samba samba-client samba-common
其中
samba-client, 這是用來讓你的 linux 成為別人的 client 去連到別人分享的資料匣
samba-common, 這個套件則主要提供了 samba 的主要設定檔 (smb.conf), 語法檢驗的測試程式
== 接下來要設定使用該服務的帳號 ==
設定不須登入/操作 Shell 的系統帳號 smbuser(範例), 這邊會問你密碼, 我們使用 "smbuser"
sudo adduser smbuser --shell /bin/false
這邊是設定給 samba 用的帳號所屬密碼, 跟上一行的帳號密碼只有帳號必須一樣, 密碼則可以不一樣喔!! 要特別注意
sudo smbpasswd -a smbuser
如果要移除使用者
移除 samba 服務內的帳號
smbpasswd -x smbuser
移除 linux 內給予 samba 服務擁有者的帳號
userdel -r smbuser
修改設定檔
sudo nano /etc/samba/smb.conf
在檔尾加入以下設定內容(#註解可不要加入喔!!)
[share]
path = /home/smbuser
# 這個是要分享的資料夾路徑, 記得要將他的整個資料匣權限設定為該帳號的喔
# 這邊的範例因為把分享匣的路徑設為 smbuser 的 home, 所以不用另外設定權限, 如果是另外新建立的資料匣
# 可以用 chown -R account:group 資料匣名稱 來正確設定權限
available = yes
valid users = smbuser #這個是可以使用這個分享資料夾的使用者,要具有 path 所指定的路徑的權限才行
read only = no
browseable = yes
public = yes
writable = yes
重啟 Samba Server
service smbd restart
在 Server 本機進行確認, 使用以下指令, 他會列出相關的資訊
smbclient -L localhost -N
設定完成之後, 接下來我們去 Client 端進行連線, 這邊採用 windows 與 linux 方式進行示範
== 使用 windows 連結 Samba server ==
打開檔案總管( File Explorer ), 在路徑處貼上如下內容
\\{Samba Server IP}\share
PS: 如果你的 VM 是架設在 windows 下, 因為 Windows OS 本身限制問題, 無法給予 445 通行!!
因此無法進行分享資料匣的連線, 請特別注意!!!
== 使用 linux 連結 Samba server ==
建立一個要掛在的路徑
sudo mkdir -p /mnt/share
進行連線設定
sudo mount -t cifs //{Samba Server IP}/share /mnt/share -o username=smbuser,password=123456789
如果不用了, 可以卸載
umount /mnt/share