samba 配置文件詳解

http://forum.ubuntu.org.cn/viewtopic.php?f=54&t=138608&sid=c71434c8258d2be27ab1af7d6ea9d196
對與linux與win的共享來說,samba的簡單易用與打印共享是ftp無法取代的,這篇文章簡單介紹samba的基礎和一些

需要注意的問題
,對與linux與linux共享,使用samba並不是明智的選擇,還有比smb更好的NFS(Network File System)只是NFS的安全問題比較突出 

初次接觸samba,可能會因爲apt-get install samba默認安裝的配置文件(/etc/samba/smb.conf)苦惱, 
因爲裏邊太亂了,其實大可不必去理會它,與其修改它不如我們自己重新建立 
sudo mv /etc/samba/smb.conf /etc/samba/smb2.conf 
sudo touch /etc/samba/smb.conf 
上邊兩句意思是把原來的配置文件改名,然後從新建立smb.conf 
新的開始,要比收拾一個爛攤子更加容易,下來我們簡單建立一個samba的配置框架 
sudo vim /etc/samba/smb.conf 

#smb.conf 
[global] 

[homes] 

[printers] 

[sharename] 

這就是smb的框架,對的,你沒看錯,它就是smb.conf的骨架,下邊我們只要豐富骨架,配上血肉就是個漂亮的姑娘了,這裏需要講 

解的是smb.conf文件是由3個標準節與若干個用戶自定義共享節組成 
[global]節下定義全局的設置 
[homes]節下定義用戶的目錄共享(比較特殊,後邊會講解) 
[printers]節下定義有關打印參數 
[sharename]可以有多個這種不同名字的節,意思是具體的定義共享那個目錄 

下邊我們豐富下[global]節 
在[global]節下有這些重要的參數 
---------------------------------------------------------------------------------------------------------------- 
[global] 
workgroup = smb #定義工作組的名稱,可以隨便寫,在win下會顯示出自己寫的工作組的名稱 
server string = smb server #對服務器的描述,自己隨便寫,會在win下顯示 
netbios name =mysmb #smb的netbios名,可以自己寫,但最好寫本機器的名字 
client code page = 936 #客戶端的字符編碼 
socket address=0.0.0.0 #smb監聽的ip,雙網卡最好寫上,不然會把端口開在兩個網卡上 
security=share/user/server/domain #4中安全級別,我們只關心share/user兩個級別 

share #用戶不需要帳號和密碼就可以登陸samba服務器 
user #由samba服務器提供檢查帳號和口令 

smb passwd file=/etc/samba/smbpasswd #這個非常重要 

當security=user的時候,意味着smb必須自己提供帳號和密碼的檢查,這時候就必須配置smb passwd file=/etc/samba/smbpasswd 

文件 
默認是不建立smbpasswd文件的,需要自己建立,只要當使用sudo smbpasswd -a xxx命令時候,纔會在smbpasswd文件中出現自己定 

義的用戶密碼,這在後邊會詳細講解 

log file=/var/log.samba/%m.log #日誌文件,%m代表設置的netblos名 
max log size=100 #日誌文件最大尺寸(KB) 
deadtime=10 #客戶的超時時間,10分鐘無操作就斷開 
keepalive=60 #60秒發送一次包,確認客戶端工作是否正常 
max open files=1000 #同一客戶最多能打開的文件數目 
socket options=TCP_NODELAY #這裏有三個選擇,我們只選擇TCP這個 
------------------------------------------------------------------------------------------------------------------- 
上邊就是[global]節下重要的一些參數,可以按自己需要選擇,完成這些,基本像個女人了,不過也太恐龍了吧,要臉蛋沒臉蛋,要 

胸沒胸,要屁股沒屁股,基本算三無產品,殘念。。。。。 

改造恐龍計劃正式開始。。。 
[homes]節 
-------------------------------------------------------- 
[homes] 
comment =home directories #描述文字 
browseable=no #不可以被瀏覽,(就是不能看到) 
writable=yes #可以寫 
valid users=%S #可以使用的用戶,%S代表當前服務名 
create mode=0664 #創建文件時候的權限,用8進制的4位數表示權限 
---------------------------------------------------------- 
上邊就是標準的[homes]節定義,這節比較特殊點,大家瞭解下,[homes]節存在的意義就是 
當客戶機發出服務請求時,在smb.conf文件的其它部分查找特定內容的服務。如果沒有發現這些服務,並且提供了homes段時,那麼就搜索密 碼文件/etc/samba/smbpasswd得到用戶的Home目錄。通過Homes段,Samba可以得到用戶的Home目錄並使之共享 

[printers]有關打印的節,這節比較複雜,主要是牽扯的有點多,相信新手不太關心這個,留後邊說 

[sharename]節,這節是我自己起的名字,前邊三節都是標準節,名字是固定的,不可重複的 
這節是具體定義共享那些目錄,與有關目錄的控制權限 
如過想共享/tmp/samba目錄,就把[sharename]換成[samba],可以自己起名字,在win下顯示的文件夾就是[samba]節的名字 
如果還想同時共享/home/ftp目錄,就在[samba]節後邊重新寫一個節[ftp] 
------------------------------------------------------------- 
[samba] 
comment=samba #描述 
path=/tmp/samba #共享路徑 
writable=yes #是否可寫 
browseable=yes #是否可以看到 
available=yes #是否可用 
read only=yes #是否只可讀 
public=yes #是否允許guest用戶訪問 
guest account=xxx #guest用戶使用的帳號 
guest ok =yes #允許使用guest 
guest only=yes #是否只允許guest 
read list =xxx,@xxx #可以讀的用戶或組列表 
write list=xxx,@xxx #可以寫的用戶或組列表 
valid users=xxx,@xxx #可以使用服務的用戶或組列表 
invalid users=xxx,@xxx #不可以使用服務的用戶或組列表 
---------------------------------------------------------- 
上邊有些參數是衝突的,這裏只是羅列出來,提供參考的 

到這裏除了打印以外,基本上骨架和血肉的介紹已經結束了,下邊說下,配置中經常會碰到的問題 

服務端問題: 
------------------------ 
一: 配置不需要帳號密碼的smb共享 
把全局參數中有關安全等級的參數security=share就可以實現不需要帳戶密碼就可以使用 
當然,也需要在具體的共享文件中不要加valid users參數,不然在訪問這個目錄時候就需要帳號密碼 

二:配置爲需要帳號密碼的smb共享 
修改sercurity=user後還需要smb passwd file=/etc/samba/smbpasswd參數,然後在建立smbpasswd文件 
先添加一個主目錄爲/home/ftp的不可登陸用戶tom可以使用命令 
sudo useradd -s /sbin/nologin -d /home/ftp/ tom 
然後設定密碼, sudo passwd tom 
再設定smb專用密碼, sudo smbpasswd -a tom 
做完上邊的步驟,就會在/etc/samba/smbpasswd中看到添加的用戶,下邊,就可以使用tom用戶登陸了 
注意,必須使用 sudo smbpasswd -a tom 後用戶纔會被添加到smbpasswd中,不然不可以使用 

三:共享目錄可寫,與不能被刪除 
當在共享節下設置writable=yes 後,還必須讓共享的目錄有被寫入的權限,才能寫入和刪除, 
大多情況只能寫入而不可以被刪除,就需要自己設置目錄的特殊權限,sticky-bit權限,具體在論壇有個精華帖介紹 


客戶端問題: 
-------------------------- 
一:不能使用網上鄰居 
建議把防火牆關掉試下,然後檢查tcp-ip協議中,ip和服務器的ip是否在一個網段內,ip協議中高級裏是否開啓把netbios協議綁定在tcp-ip協議上 

二:網上鄰居記錄用戶密碼問題 
在開始-運行中輸入 net use /d * 按提示輸入yes 
就可以清除記錄

 

http://www.love27.com/archives-29.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章