1. Samba的安裝
安裝Ubuntu時,可能已經安裝了samba。如果沒有安裝,則執行下面的命令:
sudo apt-get install samba
sudo apt-get install smbfs
如果需要使用samba客戶端訪問其它機器的共享目錄,還需要安裝smbclient:
sudo apt-get install smbclient
安裝完畢後,會在/etc下生成一個samba目錄,並在/etc/init.d下生產一個smbd文件(有些版本可能是samba文件)。
2. 建立共享目錄
確定需要使用samba共享的目錄,或者使用mkdir建立一個目錄專門用於共享,如:
mkdir /home/jacky/photo
需要注意目錄的所有者和權限。Linux是一個多用戶系統,對用戶和權限的管理是比較嚴格的。如果需要將一個文件或目錄共享,必須考慮這個文件或目共享的對象,也即會有哪些用戶會訪問它,以此來設置它的權限。比如,共享一個任何人都可以訪問的目錄(以剛纔建立的share目錄爲例),且任何人都可以對該目錄下的東西進行讀寫操作,那麼就可以設置爲:
chmod –R 777 /home/jacky/photo
如果目錄共享的對象僅爲該目錄的擁有者本人(還是以剛纔建立的photo目錄爲例),其他任何人都不可訪問,那麼可以設置爲:
chmod –R 700 /home/jacky/photo
還要注意一點的是,目錄必須要有可執行(x)權限,否則進不去。
3. 設置無賬號密碼的共享目錄
所謂無賬號密碼,也就任何人都可以登錄訪問,而且賦予每個登錄的用戶讀寫和執行權限。
進入/etc/samba目錄,先備份smb.conf文件:
sudo cp smb.conf smb.conf.back
打開smb.conf:
sudo vim /etc/samba/smb.conf
找到security這個設置項,默認應該是爲user,並被註釋掉的,將其更改爲:
security = share
下一步就是要設置具體的共享目錄了,smb.conf中有一些例子和說明可參考。這裏,我們在smb.conf的末尾增加下列語句:
[photo]
comment = share photo
path = /home/jacky/photo
read only = no
guest ok = yes
保存和關閉smb.conf文件,然後重啓smba。在ubuntu中有三條命令可重啓samba,分別是:
sudo restart smbd
sudo /etc/init.d/smbd restart
sudo service smbd restart
執行其一即可。
完畢後,即可通過其它機器訪問ubuntu共享出來的目錄了。
4. 設置有賬號密碼的共享目錄
大多數時候,我們需要考慮共享的權限問題,也即要求輸入正確的賬號密碼後才能登錄。
首先,需要向samba增加可訪問的用戶,所增加的用戶,必須是當前Linux系統已註冊的用戶。這裏,要用到smbpasswd這條命令,具體用法可以help一下:
sudo smbpasswd –h
比如,增加jacky到samba的用戶列表中,執行:
sudo smbpasswd –a jacky
samba會要求輸入新的密碼,所輸入的密碼可以與jacky的系統登錄密碼不一樣。可以添加多個用戶。有了用戶資源後,就可以用戶和共享目錄捆綁起來了。
打開smb.conf文件:
sudo vim /etc/samba/smb.conf
找到security項,將其設置爲user:
security = user
確定下面這項沒有被註釋:
passdb backend = tdbsam
還是以前面提到的/home/jacky/photo目錄爲例。在smb.conf末尾重新編寫photo目錄的參數,如下:
[photo]
comment = share photo
path = /home/jacky/photo
read only = no
valid users = jacky
保存和關閉smb.conf文件,然後重啓smba。這時候再登錄share目錄,就需要輸入賬號密碼了,也就是jacky和它對應的密碼。也可以添加多個賬號對同一目錄的訪問,如:
valid users = jacky tonny tom
前面也提到了,共享目錄的權限必須設置正確,否則訪問會出問題。
本文是以ubuntu 10.04爲例子,其它Linux發行版本可以會有點差異。