使用 Samba 在 Windows 內掛載 Linux 資料夾
在 Windows 內要存取 Linux 的檔案,除了用 FTP 或 SFTP 的方式來存取外,Samba 也是一個好選擇。Samba 能讓你透過「網路上的芳鄰」的方式直接存取檔案,甚至透過 Windows 的「連線到網路磁碟機」功能,使用起來就和本機硬碟沒什麼兩樣了。
Samba 是什麼?
Samba 的發展,就是為了連接 Unix-like 系統和 Windows 系統的 SMB/CIFS 網路協定,通常都只會在 LAN (區域網路)裡面運作。它是一款自由軟體。
掛載 Linux 資料夾可以幹嘛?
- 連接某台資料伺服器,當作網路硬碟來使用
- 掛載 Web 伺服器上的 www 資料夾,直接線上編修
註:本文並沒有討論相關安全性問題,使用時請思考這樣做會造成什麼問題。例如能存取你的電腦的人都能夠存取該 Linux 資料夾、或是中了 CryptoLocker 時可能會……
本文將示範在 Linux 端建立資料夾、安裝及設定 Samba,並在 Windows 上掛載該資料夾。以 Debian/Ubuntu 為例,其他作業系統也大同小異。
安裝並設定 Samba
取得 Samba 的方式不困難:
sudo apt-get install samba
這樣你就安裝好 Samba 了,接下來是設定 Samba。請編輯 /etc/samba/smb.conf
:
首先先找到設定檔裡面的 workgroup
,大約在29行附近,把 workgroup
設成和 Windows 系統的一樣(可以到控制台\系統及安全性\系統查看)。
# Change this to the workgroup/NT-domain name your Samba server will part of
workgroup = NOOBTW
有關安全性問題,預設 Samba 會使用 Linux 帳號的密碼,一般來說會建議保持原設定即可;如果要關掉 Samba 的認證,可以在裡面加上:
security = share
上面大概是 Samba 的一些基本測試,重頭戲在下面,如何設定要分享的資料夾?首先我們以 www
資料夾為例,直接將這段放在 smb.conf
的最下面即可:
[www]
comment = www
path = /var/www
browseable = yes
read only = no
create mask = 777
directory mask = 777
[www]
指的是要分享的資料夾的名稱,comment
則是描述,path
是 Linux 資料夾的路徑,browseable
是可否瀏覽,read only
是是否唯讀,剩下兩個 mask
則是檔案預設的權限。
最後請離開 smb.conf
,我們要設定可以使用 Samba 的用戶。
比方說我平常都是用 Noob 這支帳號登入 Linux 系統,我要讓 Noob 這支帳號可以使用 Samba,我就做以下指令:
sudo pdbedit -a -u Noob
到這邊就設定好 Samba 伺服器了。
從 Windows 掛載 Linux 的 Samba 資料夾
如果剛剛設定沒錯,現在直接打開檔案總管,並輸入 \ 加上該 Linux 電腦的內部 IP 的話,就可以看到剛剛設定的資料夾:
接著我們會再進一步把資料夾掛載成本機磁碟的樣子。首先「本機」(也就是我的電腦)按右鍵,選擇「連線網路磁碟機」,選擇你要掛載的磁碟機代號,資料夾則打 Linux 主機 IP + 資料夾名稱。
接著在認證的視窗輸入 Linux 系統的帳號密碼就可以了。
之後你在這個資料夾上做的任何變更都會馬上到 Linux 資料夾裡,如果妳架了一個 Web server,也可以馬上存檔後就看到 Web 的變更。
如果想更了解 Samba,可以參考鳥哥的資料:鳥哥的 Linux 私房菜 — SAMBA 伺服器,或是也可以留言討論 XD