1. 程式人生 > >Linux與Windows共享資料夾之samba的安裝與使用(Ubuntu為例)

Linux與Windows共享資料夾之samba的安裝與使用(Ubuntu為例)

1.寫在前面

    當你在Windows上安裝了一臺Linux的虛擬機器,你想訪問Linux中的資料夾,將虛擬機器中的檔案複製到Windows主機上,你會怎麼做呢?如果這臺Linux主機不是虛擬機器,而是一臺遠端主機呢?
    有沒有一種方法,開啟Linux虛擬機器中的資料夾就像在本地一樣,輸入路徑就可以?你可能會想到FTP,本文介紹一個更簡單的方法——samba。
    接下來詳細介紹如何在Linux上安裝samba(以Ubuntu14.04為例)。

2.安裝方法

2.1 安裝samba

sudo apt-get install samba

2.2 建立共享目錄

// 建立的目錄即之後能夠在Windows主機上直接訪問的目錄。
// 例如:在使用者gzd的主目錄下新建share資料夾為共享目錄 mkdir /home/gzd/smbshare // 由於Windows下的資料夾需可讀可寫可執行,需更改許可權為777 sudo chmod 777 /home/gzd/smbshare

2.3 修改samba配置檔案

// 修改 /etc/samba/smb.conf
sudo vim /etc/samba/smb.conf
// 在smb.conf檔案最後加上以下內容

[share]
path = /home/gzd/smbshare
public = yes
writable = yes
valid users = gzd
create mask = 0644
force create mode = 0644
directory mask = 0755
force directory mode = 0755
available = yes

smb.conf

關於smb.conf的幾點解釋:

(1) [share]表示共享資料夾的別名,之後將直接使用這個別名

(2) force create mode 與 force directory mode的設定是因為Windows下與Linux下檔案和資料夾的預設許可權不同造成的,Windows下新建的檔案是可執行的,必須強制設定其檔案許可權。

(3) valid users 設定為你當前的Linux使用者名稱,例如我的是gzd,因為第一次開啟共享資料夾時,需要驗證許可權。

2.4 設定登入密碼

// 新建/etc/samba/smbpasswd檔案
sudo touch /etc/samba/smbpasswd
// 根據2.3設定的valid users,設定使用者密碼
// gzdaijie 替換為你在2.3中設定的使用者名稱 sudo smbpasswd -a gzd //輸入兩次密碼後,會提示 Added user gzd. 表示設定成功 // 若使用者名稱非當前登入系統的使用者名稱,可能會提示Failed

2.5 啟動samba伺服器

sudo /etc/init.d/samba restart

2.6 測試是否共享成功

sudo apt-get install smbclient 
smbclient -L //localhost/share
//還記得嗎?share為2.3中設定的共享資料夾的別名
//如果共享成功,將要求輸入之前設定的密碼

3.在windows上測試

3.1 開啟windows檔案管理器,輸入\\ip地址或主機名\share

  • Linux的ip地址可通過ifconfig檢視
  • 選擇記住憑據,下次輸入地址後無需登入
  • 第一次開啟可能需要幾秒時間,耐心一點

登入samba

3.2 盡情享受samba帶來的便利吧

  • 在windows下建立檔案,到Linux下看看吧!
  • 在Linux的共享目錄下建立檔案,在windows下看看吧!