當(dāng)你在Windows上安裝了一臺Linux的虛擬機(jī),你想訪問Linux中的文件夾,將虛擬機(jī)中的文件復(fù)制到Windows主機(jī)上,你會怎么做呢?如果這臺Linux主機(jī)不是虛擬機(jī),而是一臺遠(yuǎn)程主機(jī)呢?
有沒有一種方法,打開Linux虛擬機(jī)中的文件夾就像在本地一樣,輸入路徑就可以?你可能會想到FTP,本文介紹一個更簡單的方法——samba。
接下來詳細(xì)介紹如何在Linux上安裝samba(以Ubuntu14.04為例)。
sudo apt-get install samba
// 創(chuàng)建的目錄即之后能夠在Windows主機(jī)上直接訪問的目錄。// 例如:在用戶gzd的主目錄下新建share文件夾為共享目錄mkdir /home/gzd/smbshare// 由于Windows下的文件夾需可讀可寫可執(zhí)行,需更改權(quán)限為777sudo chmod 777 /home/gzd/smbshare
// 修改 /etc/samba/smb.confsudo vim /etc/samba/smb.conf// 在smb.conf文件最后加上以下內(nèi)容
[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
(1) [share]表示共享文件夾的別名,之后將直接使用這個別名
(2) force create mode
與 force directory mode
的設(shè)置是因?yàn)閃indows下與Linux下文件和文件夾的默認(rèn)權(quán)限不同造成的,Windows下新建的文件是可執(zhí)行的,必須強(qiáng)制設(shè)定其文件權(quán)限。
(3) valid users 設(shè)置為你當(dāng)前的Linux用戶名,例如我的是gzd,因?yàn)榈谝淮未蜷_共享文件夾時,需要驗(yàn)證權(quán)限。
// 新建/etc/samba/smbpasswd文件sudo touch /etc/samba/smbpasswd// 根據(jù)2.3設(shè)置的valid users,設(shè)置用戶密碼// gzdaijie 替換為你在2.3中設(shè)置的用戶名sudo smbpasswd -a gzd//輸入兩次密碼后,會提示 Added user gzd. 表示設(shè)置成功// 若用戶名非當(dāng)前登錄系統(tǒng)的用戶名,可能會提示Failed
sudo /etc/init.d/samba restart
sudo apt-get install smbclient smbclient -L //localhost/share//還記得嗎?share為2.3中設(shè)置的共享文件夾的別名//如果共享成功,將要求輸入之前設(shè)置的密碼