很多時候需要在windows上和ubuntu 上共享檔案,一直沒怎麼去找方法,得知Samba 可以實作在windows上通路linux的檔案,這樣一來要從windows檔案放到linux中就友善了,聽說它還有更多功能,也可以直接在linux與linux之間共享.先簡單開始說一下windows與linux的,下面講一下詳細配置,部分說明來自網絡
環境:
VirtualBox
虛拟機Ubuntu 10.04
宿主主機Windows 7
安裝samba
sudo apt-get install samba
sudo apt-get install smbfs
輸入sudo apt-get install samba 執行畫面

輸入sudo apt-get install smbfs 執行畫面
建立共享目錄
mkdir /home/share
chmod 777 /home/ share
然後随便在這裡/home/share建立一兩個檔案,等下用來測試看看在windows下能不能通路
備份并編輯smb.conf允許網絡使用者通路
代碼:
sudo cp /etc/samba/smb.conf /etc/samba/smb.conf_backup
sudo gedit /etc/samba/smb.conf
搜尋這一行文字
; security = user
用下面這幾行取代
security = user
username map = /etc/samba/smbusers
将下列幾行新增到檔案的最後面,假設允許通路的使用者為:testshare。而檔案夾的共享名為 Share
[Share]
comment = Shared Folder with username and password
path = /home/share
public = yes
writable = yes
valid users = testshare
create mask = 0700
directory mask = 0700
force user = nobody
force group = nogroup
available = yes
browseable = yes
然後順便把這裡改一下,找到[global]把 workgroup = workgroup 改成
workgroup = WORKGROUP
display charset = UTF-8
unix charset = UTF-8
dos charset = cp936
現在要添加testshare這個網絡通路帳戶。如果系統中目前沒有這個帳戶,那麼
sudo useradd testshare
要注意,上面隻是增加了testshare 這個使用者,卻沒有給使用者賦予本機登入密碼。是以這個使用者将隻能從遠端通路,不能從本機登入。而且samba的登入密碼可以和本機登入密碼不一樣。
現在要新增網絡使用者的帳号:
sudo smbpasswd -a testshare ,然後輸入密碼123456
sudo gedit /etc/samba/smbusers
在建立立的檔案内加入下面這一行并儲存
testshare= "network username"
重新開機一下 smbd
sudo service smbd restart
看一下smbd監聽的端口,如果有顯示相應的端口就代表啟動了
netstat -tlnp |grep smb
試着在windows 7 下 通路
輸入 \\169.254.191.58 ubuntu上的IP,第一次通路有點慢,等會彈出對話框,輸入testshare,密碼123456,勾選複選框,按确定就可以看到共享的目錄了
終于看到了這個,下面這個是我随便放了ICMP.doc上去,OK了,大功告成
從linux上檢視windows 下的共享目錄
假設windows的共享目錄為test,将其挂載到/mnt/winshare
mkdir /mnt/winshare
mount -t smbfs -o username=XXX,password=’pwd’ //169.254.191.56/test /mnt/winshare