前言
原本想讓 VirtualBox 內的 ubuntu 虛擬機可以跟 windows host 互相傳輸檔案,但是客體應用程式 (virtualbox guest additions) 一直無法安裝,所以就想說在 ubuntu VM 內安奘 samba server 用來傳輸檔案好了。
另外雖然還有 ssh 的 scp 指令可以用,但是只能在 terminal 使用實在太過麻煩了。不過在查詢 chatGPT 說是一種已經過時的工具,且支援的功能有限, OpenSSH 官方建議改用 SFTP (對於簡單傳輸很安全、好控制) 或 rsync -e ssh (對於大型資料或備份特別好)。
指令
1. 安奘 samba :
sudo apt install samba
2. 確認 samba 已經安裝並且正在執行:
whereis samba
如果有回傳 samba 的環境變數參數,如下範例:
samba: /usr/sbin/samba /usr/lib/samba /etc/samba /usr/share/samba /usr/share/man/man7/samba.7.gz /usr/share/man/man8/samba.8.gz
表示 samba 已經安裝
3. 設定 samba 分享目錄
可以指定一個目錄作為 samba 檔案目錄位置如:
/home/<username>/sambashere
4. 編輯 samba 設定檔,位置在 `/etc/samba/smb.conf`
在設定檔最下方新增以下內容,不是修改設定檔已存在的設定:
[sambashare]
comment = Samba on Ubuntu
path = /home/username/sambashare
read only = no
browsable = yes
5. 修改並儲存完設定檔,重啟 samba 的服務:
sudo service smbd restart
6. 修改防火牆規則,讓 samba 服務可以通過防火牆:
sudo ufw allow samba
7. 設定可以使用 samba 的使用者帳號,必須是 linux 內部已經存在的使用者帳號才行:
sudo smbpasswd -a username
username 是使用者帳號名稱,輸入兩次相同密碼就設定完成
8. 最後在 windows 檔案管理員瀏覽位址輸入:
\\samba伺服器ip位址\samba分享資料夾位置
就可以開啟 linux 內部的 samba 分享資料夾,過程可能會需要輸入使用者帳號密碼
參考
使用Ubuntu Server架設Samba,與Windows做「網路上的芳鄰」吧!
教學: linux環境下設置samba並設定windows共享資料夾









