參考鏈接:http://www.linuxidc.com/Linux/2011-09/43848.htm
http://apps.hi.baidu.com/share/detail/24793837
samba 是ubuntu和windows之間實現網絡共享的工具。
1. 安裝samba
sudo apt-get install samba
查看安裝是否成功:sudo dpkg -l samba*
輸入上面命令會看到如下輸出:
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name Version Description
+++-==============-==============-============================================
ii samba 2:3.5.11~dfsg- SMB/CIFS file, print, and login server for U
un samba-client <none> (no description available)
ii samba-common 2:3.5.11~dfsg- common files used by both the Samba server a
ii samba-common-b 2:3.5.11~dfsg- common files used by both the Samba server a
un samba-tools <none> (no description available)
un samba4 <none> (no description available)
un samba4-clients <none> (no description available)
un samba4-common <none> (no description available)
前面顯示ii表示安裝成功了。
2.創建共享目錄
假設用戶名爲user_z
mkdir /home/user_z/share (創建share文件夾用來共享) chmod 777 /home/user_z/share (更改chare的文件權限爲所有用戶可讀可寫可運行)
3. 備份並編輯smb.conf
sudo cp /etc/samba/smb.conf /etc/samba/smb.conf_backup sudo gedit /etc/samba/smb.conf
找到 Authentication參數, 設置 security。
security 的設置可以是爲 share, 也可以爲 user。設置爲 share時,訪問不需要用戶名和密碼,也不需要映射用戶和添加用戶密碼。但是爲了安全考慮,此處我們設置爲 user, 並設置訪問密碼
security = user(這裏也可以設置爲share,這時訪問就不需要用戶名和密碼了。那麼就不需要映射用戶和添加用戶與密碼)
username map = /etc/samba/smbusers
設置[share]參數,假設允許訪問share文件夾的網絡用戶名是guest_z(後面要相應地添加該用戶)
[Share]
comment = Shared Folder with username and password
path = /home/user_z/share
public = yes
writable = yes
valid users = guest_z
create mask = 0700
directory mask = 0700
force user = nobody
force group = nogroup
available = yes
browseable = yes
找到Global Settings,設置:
workgroup = WORKGROUP #注意,這裏的WORKGROUP是共享中的工作組名稱 #下面的三行是爲了防止出現中文目錄亂碼的情況 display charset = UTF-8 unix charset = UTF-8 dos charset = cp9364.添加網絡賬戶guest_z
sudo useradd guest_z
要注意,上面只是增加了new這個用戶,卻沒有給用戶賦予本機登錄密碼。所以這個用戶將只能從遠程訪問,不能從本機登錄。而且samba的登錄密碼可以和本機登錄密碼不一樣。現在要新增網絡使用者的帳號:sudo smbpasswd -a guest_z
(設置你的new密碼,這個密碼不是開機登錄時候用的,是你要訪問WIN共享文件或者WIN共享文件訪問你的時候要填的密碼)
5. 編輯smbusers文件,(若第一次添加用戶,此文件可能不存在,輸入下面命令,系統會爲我們新建一個smbusers文件)
sudo gedit /etc/samba/smbusers
在smbusers文件中加上new = “network username”
保存,退出。刪除網絡使用者的帳號的命令把上面的 -a 改成 -x;如 sudo smbpasswd -x guest_z
6. 測試並重啓samba,Samba服務會同時啓動兩個服務,其中smbd主要用來管理共享出來的目錄,nmbd主要用來解析NetBIOS名。在Windows系統中, 主機可以被加入一個組中,這樣每個主機都必須有一個名字,這個名字是用於在網上被標誌的名,並非機器的主機名,將其稱爲NetBIOS名。其中nmbd進 程是隨着smbd進程啓動而啓動。
sudo testparm #測試
sudo smbd restart
sudo nmbd restart
這樣,在win7命令行中輸入\\linux ip,就可以訪問你linux下的文件了。7.遇到的訪問錯誤:
“multiple connections to a server or shared resource”, 一種可能性如下:
The network folder specified is currently mapped using a different
user name and password. To connect using a different user name and
password, first disconnect any existing mappings to this network
share.
To do this
net use * /delete
Press 'Y' on keyboard