亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費(fèi)注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
查看: 1071 | 回復(fù): 0
打印 上一主題 下一主題

發(fā)個我在網(wǎng)上看到的samba服務(wù)祥解 [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報告]
發(fā)表于 2006-01-17 20:59 |只看該作者 |倒序?yàn)g覽
一、 客戶命令:
1. smbclient
smbclient 命令用來存取遠(yuǎn)程 samba 服務(wù)器上的資源,它的界面到目前為止還是文本方式的,命令形式和 ftp 類似。
smbclient 命令的語法是:
smbclient  [password] [options]
其中 servicename 是要連接的資源名稱,資源名稱的形式如下: //server/service
其中 server 是遠(yuǎn)程服務(wù)器的 netbios 名字,對于 windows 服務(wù)器來說,就是它們出現(xiàn)在“網(wǎng)絡(luò)鄰居”中的名字。
service 是各 server 所提供的資源的名字,同樣是出現(xiàn)在“網(wǎng)絡(luò)鄰居”中的名字。
password 是存取該資源所需的口令。
如果既沒有給出 password 參數(shù),也沒有使用 -N 選項(xiàng)。smbclient 會提示用戶輸入口令;如果目標(biāo)資源并不需要口令,用戶可直接回車跳過。
-N 選項(xiàng)禁止 smbclient 提示用戶輸入口令,當(dāng)連接不需要口令的資源時可以使用該選項(xiàng)。
使用 -L 選項(xiàng)將列出遠(yuǎn)程服務(wù)器提供的所有資源。如果不知道服務(wù)器的 netbios 名,可以使用 -I 選項(xiàng)來指定它的 IP 地址,如:
smbclient //unknown/service -I 192.168.1.2
使用了 -I 選項(xiàng)之后,servicename 中的 netbios 名部分將被忽略。
smbclient 命令運(yùn)行之后,會出現(xiàn)如下提示符(和 DOS 提示符比較相像):
smb:\>
用戶在該提示符下輸入各種命令。其命令和 ftp 相似,如 cd、lcd、get、mget、put、mput 等,其他比較常用的命令如下所示:
1. ?[comand]
顯示有關(guān)command的幫助信息,若無command參數(shù),則列出所有可能的命令。
2. ![shell command]
在本地執(zhí)行shell命令,如果沒有給出shell command,則在本地運(yùn)行一個shell。用戶可以在該shell中執(zhí)行各種命令,用exit回到smbclient。
3. lowercase
關(guān)閉或者打開文件名小寫轉(zhuǎn)換。如果打開,smbclient 會自動將 get 和 mget 命令取回的文件以相應(yīng)的小寫文件名命名。
4. print
在遠(yuǎn)程服務(wù)器上打印文件 filename。
5. queue
顯示打印隊(duì)列。
6. quit 或者 exit
退出 smbclient。
smbclient 的 mget 和 mput 命令可以使用通配符“*”和“?”,它們還可以工作在遞歸模式下。當(dāng)工作在遞歸模式時,它們將處理當(dāng)前目錄以及所有由 mask 命令指定的子目錄。
用 recurse 命令打開或關(guān)閉遞歸模式。
mask 命令指定一個含通配符的模式,當(dāng) mget 和 mput 工作在遞歸模式時,它們將只處理能匹配該模式的目錄;如果不工作在遞歸模式,則忽略該模式。
mask 命令的使用方法是:
mask
expr 是含通配符的模式。smbclient 還可以發(fā)送 WinPopup 消息,方法是:
smbclient -M NetBIOS_name
NetBIOS_name 是目標(biāo)計(jì)算機(jī)的 NetBIOS 名。連接建立后,鍵入要發(fā)送的消息,按Ctrl-d 組合鍵結(jié)束。
Smbclient 的工作模式和 ftp 還有一點(diǎn)相像的地方:當(dāng)我們要處理絕大多數(shù)的文件(如執(zhí)行一個在遠(yuǎn)端的文件)時必須先下載到本地系統(tǒng)上,然后才能執(zhí)行相應(yīng)的操作。
這種操作方法自有它的好處,如比較節(jié)省網(wǎng)絡(luò)資源,但也會造成文件的重復(fù)存取。
smbclient 命令則可以直接利用遠(yuǎn)端的文件資源而不用先下載。
可用的 smbclient 開關(guān):
sharename : 完整的共享名路徑。如 \\server\share。
-U username : 登錄的用戶名。
password : 登錄用口令。
-L : 列出所有已知的服務(wù)器和共享資源。
連接到NT服務(wù)器 comet 以訪問共享目錄dir1 ,登錄的用戶名與口令之間用%分開:
smbclient \\\\comet\\dir1 -U gugong%password
smbclient -L comet
開關(guān) -L 查詢服務(wù)器 comet 中的可用共享資源。
它還會查詢系統(tǒng)(comet)的瀏覽器,以發(fā)現(xiàn)該服務(wù)器(comet)已經(jīng)在網(wǎng)上發(fā)現(xiàn)的其它共享資源。
2. smbmount
要使用 smbclient 安裝 samba 文件系統(tǒng),linux 內(nèi)核必須包含 smbfs 的支持模塊。在 Turbolinux 里默認(rèn)內(nèi)核包含了該模塊。除非你自己重新編譯了新內(nèi)核才需要加以注意。smbmount 命令的語法是:
smbmunt  
其中 servicename 是資源名,mount-point 是安裝點(diǎn)。
smbmount 常用的選項(xiàng)有:
1) -C smbmount 默認(rèn)將口令轉(zhuǎn)換成大寫,使用 -C 選項(xiàng)禁止這種轉(zhuǎn)換。
2) -N 當(dāng)連接不需要口令的資源時應(yīng)該使用本選項(xiàng)。
3) -P password 指定口令。如果沒有指定 -N 或 -P 選項(xiàng),smbmount 會提示用戶輸入口令。
4) -s server-name
smbmount 的行為和 smbclient 不同,它使用服務(wù)器的 Internet 主機(jī)名(即 hostname 命令給出的主機(jī)名)來獲得其 IP 地址,而不是使用服務(wù)器的 NetBIOS 名。如果服務(wù)器使用不同的 NetBIOS 和 Internet名,則應(yīng)該用 -s 選項(xiàng)指定其 NetBIOS 名,而在 servicename 中使用Internet 主機(jī)名。
5) -c command-string 執(zhí)行指定的相對獨(dú)立的命令。
6) -I hostname/IP
本選項(xiàng)恰好和 -s 選項(xiàng)相反,它允許在 servicename 中使用服務(wù)器的NetBIOS 名,而在 -I 之后指定服務(wù)器的 Internet 主機(jī)名或IP地址。
-I 和 -s 的效果是一樣的,smbmount 總是利用 Internet 主機(jī)名查找主機(jī)。,然后用服務(wù)器的 NetBIOS 名登錄(有些服務(wù)器要求客戶機(jī)給出自己的 NetBIOS 名)。
7) -U username
如果用戶在服務(wù)器上的帳號和本地機(jī)上的不同,則應(yīng)該使用該選項(xiàng)指定在服務(wù)器上的帳號。
****** 如果要裝載一個 SMB 的文件系統(tǒng),建議使用“-c”選項(xiàng)來使 smbmount
****** 執(zhí)行 mount 命令。例如:
****** smbmount "\\\\server\\tmp" -c 'mount /mnt -u 123 -g 456'
這樣就可以把名字叫做“server”的計(jì)算機(jī)的共享資源“tmp”的內(nèi)容裝載到本地的 /mnt 目錄下,并給這個目錄以及其下所有的文件分配一個本地的 uid(UserID)123 和 gid(Group ID)456 。這樣正確執(zhí)行了之后(指用戶輸入了正確的路徑和密碼),讀者就可以在 /mnt 目錄下看到本來使遠(yuǎn)端計(jì)算機(jī)上的內(nèi)容,并且可以與操作本地的文件一樣進(jìn)行各種被允許的操作,這樣非常節(jié)省本地的系統(tǒng)資源。
卸載一個已經(jīng)裝載的 SMB 文件系統(tǒng)用 smbumount 命令。smbumount 命令的格式非常簡單,只要指定要卸載的裝載點(diǎn)就可以了。
可用的 smbmount 開關(guān):
sharename : 以 //server/share 格式輸入的共享名。
mount point : 希望附著共享文件的目錄。
-I server : 包含共享資源的服務(wù)器。
-U username : 登錄時使用的用戶名。(和 -n 類似,但比 -n 更管用!)
-P password : 登錄時使用的口令。
-N : 沒有口令的登錄名,不用提示輸入口令。
-h : 列出可用開關(guān)的簡單幫助信息。
想用登錄名“gugong”和口令“123”來安裝共享文件“\\comet\dir1”到目錄“/mnt/comet”
smbmount \\\\comet\\dir1 /mnt/comet -I comet -U gugong -P 123
3. smbumount
要卸掉上一例子中創(chuàng)建的共享安裝,可以輸入:
smbumount /mnt/comet
二、 服務(wù)
除了客戶服務(wù)功能,SAMBA 還允許 UNIX 系統(tǒng)發(fā)布文件和打印共享。
有三個文件提供這種連接性:
nmbd (/usr/sbin/nmbd)
smbd (/usr/sbin/smbd)
smb.conf (/etc/smb.conf)
1. nmbd
nmbd 實(shí)用工具控制系統(tǒng)的 NetBIOS 通信。
它作為后臺程序運(yùn)行,并且負(fù)責(zé)監(jiān)聽用于名字服務(wù)請求的 NetBIOS 端口。
當(dāng)接收了名字服務(wù)請求時, nmbd 用系統(tǒng)的 IP 地址作出回答。
負(fù)責(zé)保持瀏覽器能通報在一個已知的工作組中哪個成員在編寫 NetBIOS 名字目錄。
可用的 nmbd 開關(guān):
-D 告訴 nmbd 作為后臺進(jìn)程運(yùn)行。
-H lmhost_file 路徑和 NetBIOS 主機(jī)名字文件的路徑名字。
-d number 告訴 nmbd 運(yùn)行于由 number 指定的調(diào)試級。0~5有效。
-l log_file_base 指定日志文件的庫名。
-n NetBIOS_name 在主機(jī)名不宜用的條件下,指定該系統(tǒng)的 NetBIOS 名字。
-p port_number 改變?nèi)笔〉谋O(jiān)聽端口號。
-s config_file 若 smb.conf 沒有在 /etc 目錄下,則指定其位置。
2. smbd
smbd 實(shí)用工具是負(fù)責(zé)所有文件和打印共享服務(wù)的后臺進(jìn)程。
一旦客戶通過 nmbd 尋址到一個 SAMBA 服務(wù)器,就由 smbd 負(fù)責(zé)客戶的文件和打印請求。
可用的 smbd 開關(guān):
-D 告訴 smbd 作為后臺進(jìn)程運(yùn)行。
-O socket_option 調(diào)節(jié)通信參數(shù)。
-a 重寫日志文件,缺省是添加。
-d number 告訴 smbd 運(yùn)行于由 number 指定的調(diào)試級。0~5有效。
-l log_file_base 指定日志文件的庫名。
-p port_number 改變?nèi)笔〉谋O(jiān)聽端口號。
-s config_file 若 smb.conf 沒有在 /etc 目錄下,則指定其位置。
3. smb.conf
smb.conf 在初始化期間被用于配置 nmbd 和 smbd.
/etc/rc.d/init.d/smb stop
/etc/rc.d/init.d/smb start
[global]
Global Setting 與配置特定的共享相對,全局設(shè)置用于配置整體 SAMBA 環(huán)境。全局設(shè)置列出在段標(biāo)題[global]下。
該節(jié)中的參數(shù)適用于整個 Samba 服務(wù)器,或者是其他節(jié)的默認(rèn)值。
guest account=username 瀏覽共享資源時,允許指定可用的有效客戶帳戶。該帳戶必須是有效的帳戶名,并且只能擁有最小限度的系統(tǒng)權(quán)利。通常為ftp 的這種設(shè)置將允許訪問共享資源。
workgroup=Workgroup 允許指定該系統(tǒng)應(yīng)該加入的工作組名。Workgroup 與域很相似,因?yàn)樗鼈兌即砹艘粋 NetBIOS 系統(tǒng)的套件合。Workgroup 與域不同的地方在于,沒有套件中的帳戶管理——所有的登錄名和口令都由每個單獨(dú)的系統(tǒng)管理。
Home Directories
當(dāng)用戶得到 SAMBA 的認(rèn)證后,有一個選項(xiàng)允許用戶訪問作為共享 SAMBA 主目錄。目錄的位置可以從 /etc/smbpasswd 文件只查詢到,該文件被用于在全系統(tǒng)范圍內(nèi)定義登錄名和口令。主目錄設(shè)置與 smb.conf 被一起列在段標(biāo)題[homes]下。(?)
Other Shares 你可以把文件系統(tǒng)的任何部分設(shè)置為共享。創(chuàng)建共享時,以附上了方括號的共享名作為共享部分的開始,例如 [public]。在共享名之后,每行用列出的一個命令,你指定任何你想應(yīng)用于該共享部分的參數(shù)。
Share Setting 以下是一個可用于處理共享資源的某些命令的簡短列表:
browseable=yes/no 它指出共享對于正在瀏覽的客戶是否可見,或者共享通過使用UNC(通用命名約定)才能訪問。例如要訪問共享名 public ,而其瀏覽功能已經(jīng)被關(guān)閉(no),則必須通過輸入 UNC\\server\pubic 來訪問它。它不會出現(xiàn)在瀏覽列表中(即在瀏覽器中不可見)。
creat mode=number 在SAMBA 共享?xiàng)l件下創(chuàng)建文件時,允許分配給這些文件以缺省許可這個字段的數(shù)值使用和 chmod 命令一樣的數(shù)字格式。和 create mask 相反。
only guest=yes 指定用戶對該共享資源的訪問只能是客戶級的。如果文件許可被正確地設(shè)置,則其作用是用戶只能看到目錄下的文件,但不能進(jìn)行讀寫操作。 path=share directory path 定義了一個目錄,當(dāng)用戶要訪問一個已發(fā)布了的共享名字時,就可以訪問上述被定義的目錄。例如,如果創(chuàng)建了一個名為 public 的共享資源,并且指定 path 等于 /usr/expense/template,則對共享的 public 的訪問將直接進(jìn)入 template 目錄,系統(tǒng)將不允許進(jìn)入該目錄的上一級目錄結(jié)構(gòu),而只能進(jìn)入下一級。
public= yes/no 定義一個共享是否對公共訪問開放。當(dāng)設(shè)置為 yes 時,在系統(tǒng)上沒有帳戶的用戶將基于所定義的客戶帳戶的屬性來接收訪問。
valid users=username 指定只有具有特定的登錄名的用戶才能訪問共享。可以指定用空格分開的多個登錄名。( all 表示所有)
writable=yes/no 定義了一個共享能否使用讀/寫許可來訪問,或一個文件系統(tǒng)能否替代地被認(rèn)為只讀。定義用戶接受到訪問級的是這個設(shè)定和分配給用戶 UNIX 帳戶一些許可的組合,不管其中哪一個較低。例如,如果用戶訪問標(biāo)記為可寫的共享,但其 UNIX 帳戶有只讀許可,那么該用戶只能得到該共享的只讀訪問權(quán)。
[home]
如果配置文件中包含該節(jié),那么服務(wù)器就可以動態(tài)地為用戶提供連接到其私人目錄的共享.
如果用戶要求連接一個配置文件中不存在的共享,服務(wù)器就假設(shè)用戶提供的共享名是一個帳號,然后在本地的密碼文件中查找該帳號.如果該帳號存在,并且用戶提供了正確的口令,那么服務(wù)器就拷貝[在home]節(jié)來建立一個新的共享,同時作出如下修改:
1> 將共享名改為帳號名.
2> 如果在[home]節(jié)中沒有指定要共享的目錄,那么就使用該帳號的私人目錄.
3> 如果要在[home]節(jié)中指定 path 參數(shù),那么宏 %S 是非常有用的,它代表當(dāng)前共享的名稱.例如: path=/data/%S
這種方法允許為 PC 用戶和 Linux 用戶提供不同的私人目錄.
由此可見,使用 [home] 節(jié)可以簡單而快速地允許大量用戶存取各自的私人目錄.如果用戶請求的共享名就是 homes ,服務(wù)器同樣會為其動態(tài)地建立共享,唯一的不同是新共享的名稱仍然是 homes.
[printers]
該節(jié)有點(diǎn)類似于 [homes] 節(jié),只不過是針對打印機(jī)的.如果配置文件中包含 [homes] ,
用戶就可以連接到本地 printcap 文件中定義的任何一臺打印機(jī).如果用戶請求連接一個配置文件中不存在的共享,若 [homes] 節(jié)存在,那么服務(wù)器會像上節(jié)所述那樣處理該請求;否則服務(wù)器將請求連接的共享名視為一個打印機(jī)名,并且在 printcap 文件中查找是否存在可以匹配的打印機(jī),如果存在,就拷貝 [printers] 節(jié)以建立新的共享.
注意: [printers] 節(jié)必須是可打印的,否則服務(wù)器將拒絕裝載配置文件,例如:
[printers]
path = /home/samba/print/public
writeable = no
guest ok = yes
printable = yes
宏替換:
配置文件中允許宏替換,"注意大小寫".
-----------------------------------------------------------------------
宏 描 述
-----------------------------------------------------------------------
%S  當(dāng)前服務(wù)或共享的名稱
%P  當(dāng)前服務(wù)或共享的目錄
%u  當(dāng)前服務(wù)或共享使用的用戶名
%g  %u 所在組的名稱
%U  當(dāng)前會話使用的用戶名(登錄名?!),即客戶機(jī)所期望的用戶名,可以和客戶機(jī)真正得到的用戶名不同.
%G  %U 所在組的名稱
%H  %u 的私人目錄(主目錄)
%v  Samba 的版本號
%h  Samba 服務(wù)器的 NetBIOS 名
%m  客戶機(jī)的 NetBIOS 主機(jī)名(Win9x的機(jī)器名)
%L  服務(wù)器的 NetBIOS 名
%N  服務(wù)器的(?????)名
%M  客戶機(jī)的 Internet 主機(jī)名
%I  客戶機(jī)的 IP 地址
%T  當(dāng)前的日期和時間
%d  當(dāng)前服務(wù)器進(jìn)程 ID
%a  遠(yuǎn)程客戶機(jī)的體系結(jié)構(gòu),目前只能識別WfWg,NT,和 Win 95、98,并且不是100%可靠,其他系統(tǒng)被標(biāo)示為 UNKNOWN
-----------------------------------------------------------------------
三、 用戶身份驗(yàn)證:
帳號對于 Samba 來說非常重要,用戶必須擁有合法的帳號才能連接非 guest 性質(zhì)的Samba 服務(wù),并且該帳號決定了他享有的權(quán)限.即使一個共享是 guest 共享, Samba 也需要一個特定的帳號來提供服務(wù).
用戶有許多種連接 Sabma 服務(wù)的方法.服務(wù)器遵循下面的步驟決定是否允許一個連接,如果所有的步驟都失敗了,就拒絕連接;如果其中有一步成功了,就不再執(zhí)行其后的步驟.
1> 如果請求連接的共享包含 " guest only = yes " 參數(shù),那么用戶就以" guest account = " 參數(shù)制定的身份連接,而不考慮其提供的密碼.
2> 如果客戶機(jī)提供了一個帳號/密碼對,并且該帳號/密碼對通過了 Linux 系統(tǒng)的身份驗(yàn)證,那么用戶就以該帳號連接.注意這里包括以 "\\server\service\%username" 形式提供的帳號.
3> 檢查客戶機(jī)的 NetBIOS 名稱(亦即 Windows 在網(wǎng)絡(luò)中使用的計(jì)算機(jī)名)以及其他曾使用過的帳號,如果有一個可以和提供的密碼匹配,那么就允許連接.
4> 如果客戶機(jī)已經(jīng)通過了帳號\密碼驗(yàn)證,并且向服務(wù)器發(fā)送了驗(yàn)證標(biāo)志( validation token),那么用戶就以該帳號連接.
5> 如果請求的共享包含 " user = " 參數(shù),同時客戶機(jī)提供了一個密碼,并且該密碼可以和帳號列表中的一個帳號匹配,那么用戶就以該帳號連接.如果" user = " 參數(shù)中的某個帳號以 " @ " 開頭,那么它會被視為一個用戶組名,該組中所有的用戶帳號都被包含在 " user = " 列表中.
四、 Samba 的安全級
Samba 有四種安全級,由參數(shù) security 定義,該參數(shù)只能出現(xiàn)在 [global] 中,是一個全局參數(shù).
這四種安全級是 share,user,server,domain ,其中后三種屬于安全模式( Security Mode ),這里重點(diǎn)討論 share 和 user 安全級.
1) security = share
當(dāng)客戶機(jī)連接到一個 share 安全級的服務(wù)器時,它在連接共享之前,不需要首先提供正確的帳號和密碼就可以登錄到服務(wù)器(雖然 Windows 95/98/NT 等客戶機(jī)在連接share 級服務(wù)器時會發(fā)出一個登錄請求,該請求只包含帳號).相反的,客戶機(jī)只有在連接特定的共享時才需提供密碼.
注意: 服務(wù)器總是使用有效的 Linux 帳號來提供服務(wù),即使是工作在 share 安全級.
因?yàn)榭蛻魴C(jī)并不向 share 級的服務(wù)器提供帳號,所以服務(wù)器使用下面的技術(shù)來確定使用什么帳號提供服務(wù):
1> 如果該共享包含 " guest only =yes " 參數(shù),則使用 " guest account= " 參數(shù)指定的 guest 帳號,忽略下面的步驟.
2> 如果連接請求同時提供一個帳號,那么該帳號被認(rèn)為是潛在的帳號.
3> 如果客戶機(jī)在此之前發(fā)出過登錄請求,那么該請求包含的帳號也被視為潛在的帳號.
4> 客戶機(jī)請求連接的共享名被視為潛在帳號.
5> 客戶機(jī)的 NetBIOS 名被視為潛在帳號.
6> " user = " 列表中的帳號被視為潛在帳號.
如果 " guest only " 參數(shù)為假,則檢查所有的潛在帳號,使用第一個和密碼匹配的帳號.如果 guest only " 參數(shù)為真,或者該共享允許使用 " guest account " ,則使用之,否則拒絕連接.可見, share 服務(wù)器決定帳號的過程是很復(fù)雜的.
2) security = user
這是 Samba 默認(rèn)使用的安全級.使用 user 安全級時,服務(wù)器要求客戶機(jī)首先以正確的帳號和密碼登錄(可以對帳號進(jìn)行映射). " user = " 和 "guest only " 等可能改變用戶身份的參數(shù)只有在用戶成功登錄之后才起作用.
注意: 客戶機(jī)請求連接的共享名只有在登錄之后才傳遞給服務(wù)器,因此沒有通過身份驗(yàn)證的用戶無法訪問任何共享(包括 guest 共享).可以使用 "map to guest " 選項(xiàng)將未知用戶映射為 guest 用戶,以允許訪問 guest 共享.
3) security = server
在 server 安全級下, Samba 使用遠(yuǎn)程 SMB 服務(wù)器(如 Windows NT 服務(wù)器)進(jìn)行身份驗(yàn)證,如果失敗則自動切換到 user 安全級.對于客戶機(jī)來說, server 安全級和 user 安全級沒有什么不同.
4) security = domain
要是用本模式,必須使用 smbpasswd 程序?qū)?Samba 服務(wù)器加到一個 Windows NT 域中,并且使用"加密口令(Encrypted Passwords)".在本安全級下, Samba 借助 Windows NT 主控服務(wù)器( Windows NT Primary )或者是后備域控制器(Backup Domain Controller) 進(jìn)行身份驗(yàn)證,采取 Windows NT 服務(wù)器相同的行為.
***************************************************************************
share 和 user 安全級的比較
share 安全級面向資源,用戶每連接一個非 guest 共享都需要提供一個密碼.如果主要提供 guest 共享,就應(yīng)該使用 share 安全級.
user 安全級面向用戶,用戶登錄后,就無需再為單獨(dú)的共享提供密碼,比較方便.如果用戶再 PC 上的帳號和在 Linux 上的帳號相同,那么使用 user 安全級是非常合適的.
***************************************************************************

五、 常用參數(shù)
1) 全局參數(shù):
1>NetBIOS name
設(shè)定Samba服務(wù)器的NetBIOS名,客戶機(jī)用這個名字來識別它,默認(rèn)值是主機(jī)DNS名的第一部分.
2>workgroup
設(shè)定Samba服務(wù)器所在的工作組.
3>server string
設(shè)定服務(wù)器的描述信息,其值可以任意設(shè)定.
4>security
設(shè)定服務(wù)器的安全級,有效值是share,user(默認(rèn)),server,doamin.
5>announce as
通常,Samba服務(wù)器會對外宣稱自己是一個Windows NT服務(wù)器,可以用該選項(xiàng)來更改這個設(shè)定.其有效值是"NT","Win95"或者"WfW",分別代表Windows NT ,Windows 95 和 Windwos for Workgroups.
6>log file
指定Samba服務(wù)器的日志文件.
7>max log size
設(shè)定日志文件的最大長度,其值是一個整數(shù),單位是千字節(jié).如果日志文件超出了規(guī)定的長度,Samba會為文件名加上后綴.old,然后再建立一個新文件.如果該值是0,則沒有限制,默認(rèn)值是 max log size = 5000.
8>map to guest
guest用戶映射,有效值是"Never"、"Bad User"、"Bad Password"。
9>username map
用戶映射,其值是一個文件名。
10>load printers
布爾值,決定是否裝載printcap文件中所有的打印機(jī)以供瀏覽。默認(rèn)值是 load
printers = yes。
2) 其他參數(shù)
有些參數(shù)有“同義詞”,這些同義詞放在其后的括號中。
1>path(或directory)
設(shè)定要共享的目錄。路徑中出現(xiàn)的%u會被替換成為客戶機(jī)使用的Linux帳號,%m會被替換為客戶機(jī)的NetBIOS名。
2>comment
注釋信息。
3>guest ok(或public)
如果該參數(shù)為yes,則對應(yīng)的共享允許以guest方式訪問。默認(rèn)值是no。
4>guest account
為guest訪問方式指定Linux帳號,Samba使用該帳號提供服務(wù),它的權(quán)限就是guest用戶享有的權(quán)限。
5>guest only
布爾值,決定該共享是否允許以guest方式訪問。如果已經(jīng)指定了 guest ok 或 public 參數(shù),則本參數(shù)不起作用。默認(rèn)值是 no。
6>browsable(browseable)
布爾值,決定該共享是不是可瀏覽的。如果其值為yes,則相應(yīng)的共享會出現(xiàn)在“網(wǎng)絡(luò)鄰居”中。
7>read only
布爾值,決定該共享是否以只讀方式共享。
8>writeable(或write ok)
布爾值,決定是否允許用戶修改相應(yīng)的共享。
9>user(或username users)
為共享指定潛在的帳號列表。
10>invalid users
禁止訪問該共享的用戶列表。
11>valid users
允許訪問該共享的用戶列表。
12>writelist
具有寫權(quán)限的用戶列表。在該列表中的用戶可以修改相應(yīng)的共享,即使該共享的 read only 選項(xiàng)被設(shè)為真。
13>readlist
具有只讀權(quán)限的用戶列表。無論該共享是否設(shè)置了read only選項(xiàng),該列表中的用戶都只享有只讀權(quán)限。
14>admin users
超級用戶列表。該列表中的用戶對相應(yīng)的共享擁有一切權(quán)限。
15>force user
指定一個Linux帳號,所有用戶都使用該帳號訪問相應(yīng)的共享。這有助于在用戶間共享文件。該帳號只有在連接之后才起作用(!),因此客戶機(jī)仍然需要提供正確的帳號和口令以連接共享。一旦連接確立,客戶機(jī)將以該帳號進(jìn)行任何文件操作,而不管它連接時使用的帳號是什么。
16>force group(或group)
同force user類似,只不過強(qiáng)制的是用戶組。
17>available
該選項(xiàng)允許用戶關(guān)閉一個共享,其默認(rèn)值是yes。
18>allow host(或hosts allow)
允許訪問相應(yīng)共享的主機(jī)列表,主機(jī)間用逗號、空格或制表符分隔?梢允褂肐P地址和主機(jī)名來標(biāo)識主機(jī)。
19>deny hosts(或hosts deny)
禁止訪問相應(yīng)共享的主機(jī)列表。
20>preexec
指定連接建立之后執(zhí)行的命令,例如:
preexec = echo \"%u connected to %S from %m(%l)\" >> /tmp/log
會在連接建立時向日志文件中追加一條記錄。
21>postexec
指定連接斷開之后執(zhí)行的命令。
22>root preexec
和preexec類似,但是這里指定的命令是以root權(quán)限運(yùn)行的。這通常用來安裝一個文件系統(tǒng),如CDROM等。
23>root postexec
和postexec類似,但這里指定的命令是以root權(quán)限運(yùn)行的。可以用來卸載文件系統(tǒng)。
六、 使用用戶映射
Samba提供的用戶映射機(jī)制包括“guest用戶映射”和“用戶映射”兩種:
1) guest用戶映射
guest用戶映射僅適用于安全模式(user,server和domain安全級).如果一個用戶沒有通過身份驗(yàn)證,就可以將其映射為guest用戶,從而允許他訪問guest共享.這里 guest 用戶由"guest account="參數(shù)指定.
guest用戶映射由全局參數(shù)"map to guest"控制,它只能放在[global]節(jié)中,可以是如下三個值:
1>map to guest = Never
不進(jìn)行映射,拒絕非法用戶訪問任何資源.這是默認(rèn)行為.
2>map to guest = Bad User
如果用戶使用一個不存在的帳號登錄,就將它映射為guest用戶;如果提供的帳號正確而口令錯誤,則禁止連接.
3>map to guest = Bad Password
將使用錯誤口令登錄的用戶映射為guest用戶.這樣的設(shè)置會產(chǎn)生一個問題,即如果用戶不小心鍵入了錯誤的口令,服務(wù)器會"偷偷地"將他映射為guest用戶,而不 出任何錯誤信息,這樣用戶會在不知情的情況下受到種種訪問限制.
2) 用戶映射
全局參數(shù)"username map"用來控制用戶映射,它允許管理員指定一個映射文件,該文件包含了在客戶機(jī)和服務(wù)器間進(jìn)行用戶映射的信息,如:
username map = /usr/local/samba/lib/users.map 用戶映射經(jīng)常用來在 Windows 和 Linux 主機(jī)之間進(jìn)行映射,因?yàn)橛脩艨赡茉趦蓚系
統(tǒng)上擁有不同的帳號;另一個用途是將幾個用戶映射為一個用戶,以使他們能更方便地共享文件.
下面是一個映射文件的例子:
# Map Windows admain to Linux root
root = admin administrator
; Map all the members of group system(用戶組) to sys
sys = @system
等號左邊的是單獨(dú)的 Linux 帳號,等號右邊的是要映射的帳號列表.服務(wù)器逐行分析映射文件,如果提供的帳號和某行右側(cè)列表中的帳號匹配,就把它替換為等號左邊的帳號.
如果該行前面沒有"!"符號,則繼續(xù)分析下面的行,否則不繼續(xù)分析.
"@"符號表示其后跟的是一個用戶組,該組中所有的用戶都會被映射為相應(yīng)的 Linux帳號.
符號"*"是通配符,它可以匹配任何用戶帳號.
以"#"或";"開頭的行是注釋行.
如果要映射包含空格的帳號(Windows帳號中允許有空格),可以用引號將其括起來,如:
# Map a windows account to LInux account
tridge = "Andrew Tridgell"
下面的例子將帳號fred和mary映射為帳號sys,將其他帳號映射為guets帳號.
!sys = mary fred
guest = *
注意: 服務(wù)器將對出現(xiàn)在任何位置上的帳號進(jìn)行映射.例如,如果連接到 \\server\fred,并且fred被映射為mary,那么實(shí)際連接的是\\server\mary,用戶應(yīng)該提供mary的口令,而不是fred的口令.Samba默認(rèn)不提供用戶映射.

七. 使用加密口令
從 Windows NT 4.0 Service Pack 3 開始,Microsoft決定不再在網(wǎng)絡(luò)中傳遞未加密的口令,而僅傳遞加密口令 (Encripted Password),新版本的Windwos 95 以及Windows98也采用這一約定.這些客戶機(jī)在和不支持加密口令并且以 user 安全級運(yùn)行的 Samba 服務(wù)器通信時,會遇到很大的困難.為了能順利地和這些客戶機(jī)通信,Samba 也加入了對加密口令的支持.
1) Samba 口令文件
為了使用加密口令,Samba 需要一份自己的口令文件,并且該文件應(yīng)該和Linux/etc/passwd 文件保持同步,可以使用mksmbpasswd.sh腳本來制作這份文件:
cat /etc/passwd | mksmbpasswd.sh > /etc/smbpasswd
其中smbpasswd就是需要的口令文件,其權(quán)限應(yīng)該設(shè)為0600,擁有者是root.samba口令
文件中的記錄和 /etc/smbpasswd 文件的記錄一一對應(yīng).每行的格式如下:
username:uid:xxx...xxx:xxx...xxx:Logname:user home dir:user shell
它的格式和 /etc/passwd 文件基本相同,只有密碼字段不同.密碼字段由兩個部分組成, 每部分都是32個"x".這兩部分就是Samba使用的加密口令,前一部分用于和LANManager通信, 后一部分用于和 Windows NT通信. Linux 的口令是無法破譯的,因此剛建立的口令文件中所有的用戶都沒有正確的口令,用32個"x"來表示.root用戶可以使用 smbpasswd 命令為每個用戶設(shè)定一個初始口令,這樣用戶就可以使用smbpasswd命令更改自己的 samba口令了. smbpasswd的使用方法和 passwd 命令類似. root 用戶也可以將口令設(shè)置為空,方法是手工修改口令文件,將前11個"x"改為
"NO PASSWORD":
NO PASSWORDxxx...xxx:xxx...xxx
這樣當(dāng)smbpasswd命令詢問用戶舊密碼時,就可以直接按回車鍵跳過.
2) 指定 samba 使用加密口令
要使 samba 使用加密口令,必須在 /etc/ssmb.conf 文件中的 [global]節(jié)中加入以下參數(shù):
encrypt passwords = yes
smb passwd file = /etc/smbpasswd
其中第一行通知 samba 使用加密口令。第二行給出口令文件的路徑。如果允許用戶使用空口令,則應(yīng)該使用如下參數(shù):
null passwords = yes
但這會帶來安全問題。
3) smbpasswd 命令
smbpasswd 命令除了可以修改用戶口令之外,還可以幫助 root 用戶添加和刪除用戶。smbpasswd 命令如果被 root 用戶運(yùn)行,那么它將直接修改口令文件,而不需要借助smbd;如果被普通用戶運(yùn)行,smbpasswd 就以客戶機(jī)/服務(wù)器模式工作,它連接到smbd 以完成必要的修改?蛻魴C(jī)/服務(wù)器模式使得 smbpasswd 不必成為一個 SUID 程序,避免產(chǎn)生安全漏洞。
smbpasswd命令常用選項(xiàng)有:
1> -a 增加一個用戶帳號,該帳號必須出現(xiàn)在 /etc/passwd 文件中,亦即是一個合法的 Linux 帳號,只有 root 可以使用本選項(xiàng)。
2> -d 禁止一個用戶帳號,并不將其刪除,僅供 root 使用。
3> -e 恢復(fù)一個被禁止的用戶帳號,僅供 root 使用。
4> -n 將帳號的口令設(shè)為空,即將口令字段的前11個字符改為“NO PASSWORD”。
僅供 root 使用。
5> -r remote_machine_name 本選項(xiàng)允許用戶指定遠(yuǎn)程主機(jī),如果沒有該選項(xiàng),那么smbpasswd 默認(rèn)修改本地 Samba 服務(wù)器上的口令。remote-machine-name 是 遠(yuǎn)程主機(jī)的 NetBIOS 名。
6> -U username 本選項(xiàng)只能和 -r 選項(xiàng)連用。當(dāng)修改遠(yuǎn)程主機(jī)上的口令,用戶可以用該選項(xiàng)指定欲修改的帳號。這允許在不同系統(tǒng)中使用不同帳號的用戶修改自己的口令。
7> -s 該選項(xiàng)使 smbpasswd 以 silent (沉默)模式工作,在此模式下,smbpasswd 將從標(biāo)準(zhǔn)輸入讀取數(shù)據(jù),而不是默認(rèn)的 /dev/tty,這樣可以幫助用戶編寫調(diào)用 smbpasswd 的腳本。
4) 怎樣才能不使用加密口令
上面曾提到,使用加密口令主要是為了能順利地和 Windows NT 等客戶機(jī)進(jìn)行通信。為了達(dá)到這個目的,也可以修改 Windows NT 的注冊表,以強(qiáng)制其使用不加密的口令(Plain Password)。
TurboLinux 的 /usr/doc/samba-2.0.3/docs 目錄中有兩個注冊表文件,它們可以用來自動修改 Windows NT 4 和 Windows 95 的注冊表,用戶只需在 Windows 系統(tǒng)中雙擊其圖標(biāo)即可。這兩個文件是:NT4_PlainPassword.reg 和 Win95_plainPassword.reg。
六、 使用用戶映射
Samba提供的用戶映射機(jī)制包括“guest用戶映射”和“用戶映射”兩種:
1) guest用戶映射
guest用戶映射僅適用于安全模式(user,server和domain安全級).如果一個用戶沒有通過身份驗(yàn)證,就可以將其映射為guest用戶,從而允許他訪問guest共享.這里 guest 用戶由"guest account="參數(shù)指定.
guest用戶映射由全局參數(shù)"map to guest"控制,它只能放在[global]節(jié)中,可以是如下三個值:
1>map to guest = Never
不進(jìn)行映射,拒絕非法用戶訪問任何資源.這是默認(rèn)行為.
2>map to guest = Bad User
如果用戶使用一個不存在的帳號登錄,就將它映射為guest用戶;如果提供的帳號正確而口令錯誤,則禁止連接.
3>map to guest = Bad Password
將使用錯誤口令登錄的用戶映射為guest用戶.這樣的設(shè)置會產(chǎn)生一個問題,即如果用戶不小心鍵入了錯誤的口令,服務(wù)器會"偷偷地"將他映射為guest用戶,而不 出任何錯誤信息,這樣用戶會在不知情的情況下受到種種訪問限制.
2) 用戶映射
全局參數(shù)"username map"用來控制用戶映射,它允許管理員指定一個映射文件,該文件包含了在客戶機(jī)和服務(wù)器間進(jìn)行用戶映射的信息,如:
username map = /usr/local/samba/lib/users.map 用戶映射經(jīng)常用來在 Windows 和 Linux 主機(jī)之間進(jìn)行映射,因?yàn)橛脩艨赡茉趦蓚系
統(tǒng)上擁有不同的帳號;另一個用途是將幾個用戶映射為一個用戶,以使他們能更方便地共享文件.
下面是一個映射文件的例子:
# Map Windows admain to Linux root
root = admin administrator
; Map all the members of group system(用戶組) to sys
sys = @system
等號左邊的是單獨(dú)的 Linux 帳號,等號右邊的是要映射的帳號列表.服務(wù)器逐行分析映射文件,如果提供的帳號和某行右側(cè)列表中的帳號匹配,就把它替換為等號左邊的帳號.
如果該行前面沒有"!"符號,則繼續(xù)分析下面的行,否則不繼續(xù)分析.
"@"符號表示其后跟的是一個用戶組,該組中所有的用戶都會被映射為相應(yīng)的 Linux帳號.
符號"*"是通配符,它可以匹配任何用戶帳號.
以"#"或";"開頭的行是注釋行.
如果要映射包含空格的帳號(Windows帳號中允許有空格),可以用引號將其括起來,如:
# Map a windows account to LInux account
tridge = "Andrew Tridgell"
下面的例子將帳號fred和mary映射為帳號sys,將其他帳號映射為guets帳號.
!sys = mary fred
guest = *
注意: 服務(wù)器將對出現(xiàn)在任何位置上的帳號進(jìn)行映射.例如,如果連接到 \\server\fred,并且fred被映射為mary,那么實(shí)際連接的是\\server\mary,用戶應(yīng)該提供mary的口令,而不是fred的口令.Samba默認(rèn)不提供用戶映射.

七. 使用加密口令
從 Windows NT 4.0 Service Pack 3 開始,Microsoft決定不再在網(wǎng)絡(luò)中傳遞未加密的口令,而僅傳遞加密口令 (Encripted Password),新版本的Windwos 95 以及Windows98也采用這一約定.這些客戶機(jī)在和不支持加密口令并且以 user 安全級運(yùn)行的 Samba 服務(wù)器通信時,會遇到很大的困難.為了能順利地和這些客戶機(jī)通信,Samba 也加入了對加密口令的支持.
1) Samba 口令文件
為了使用加密口令,Samba 需要一份自己的口令文件,并且該文件應(yīng)該和Linux/etc/passwd 文件保持同步,可以使用mksmbpasswd.sh腳本來制作這份文件:
cat /etc/passwd | mksmbpasswd.sh > /etc/smbpasswd
其中smbpasswd就是需要的口令文件,其權(quán)限應(yīng)該設(shè)為0600,擁有者是root.samba口令
文件中的記錄和 /etc/smbpasswd 文件的記錄一一對應(yīng).每行的格式如下:
username:uid:xxx...xxx:xxx...xxx:Logname:user home dir:user shell
它的格式和 /etc/passwd 文件基本相同,只有密碼字段不同.密碼字段由兩個部分組成, 每部分都是32個"x".這兩部分就是Samba使用的加密口令,前一部分用于和LANManager通信, 后一部分用于和 Windows NT通信. Linux 的口令是無法破譯的,因此剛建立的口令文件中所有的用戶都沒有正確的口令,用32個"x"來表示.root用戶可以使用 smbpasswd 命令為每個用戶設(shè)定一個初始口令,這樣用戶就可以使用smbpasswd命令更改自己的 samba口令了. smbpasswd的使用方法和 passwd 命令類似. root 用戶也可以將口令設(shè)置為空,方法是手工修改口令文件,將前11個"x"改為
"NO PASSWORD":
NO PASSWORDxxx...xxx:xxx...xxx
這樣當(dāng)smbpasswd命令詢問用戶舊密碼時,就可以直接按回車鍵跳過.
2) 指定 samba 使用加密口令
要使 samba 使用加密口令,必須在 /etc/ssmb.conf 文件中的 [global]節(jié)中加入以下參數(shù):
encrypt passwords = yes
smb passwd file = /etc/smbpasswd
其中第一行通知 samba 使用加密口令。第二行給出口令文件的路徑。如果允許用戶使用空口令,則應(yīng)該使用如下參數(shù):
null passwords = yes
但這會帶來安全問題。
3) smbpasswd 命令
smbpasswd 命令除了可以修改用戶口令之外,還可以幫助 root 用戶添加和刪除用戶。smbpasswd 命令如果被 root 用戶運(yùn)行,那么它將直接修改口令文件,而不需要借助smbd;如果被普通用戶運(yùn)行,smbpasswd 就以客戶機(jī)/服務(wù)器模式工作,它連接到smbd 以完成必要的修改?蛻魴C(jī)/服務(wù)器模式使得 smbpasswd 不必成為一個 SUID 程序,避免產(chǎn)生安全漏洞。
smbpasswd命令常用選項(xiàng)有:
1> -a 增加一個用戶帳號,該帳號必須出現(xiàn)在 /etc/passwd 文件中,亦即是一個合法的 Linux 帳號,只有 root 可以使用本選項(xiàng)。
2> -d 禁止一個用戶帳號,并不將其刪除,僅供 root 使用。
3> -e 恢復(fù)一個被禁止的用戶帳號,僅供 root 使用。
4> -n 將帳號的口令設(shè)為空,即將口令字段的前11個字符改為“NO PASSWORD”。
僅供 root 使用。
5> -r remote_machine_name 本選項(xiàng)允許用戶指定遠(yuǎn)程主機(jī),如果沒有該選項(xiàng),那么smbpasswd 默認(rèn)修改本地 Samba 服務(wù)器上的口令。remote-machine-name 是 遠(yuǎn)程主機(jī)的 NetBIOS 名。
6> -U username 本選項(xiàng)只能和 -r 選項(xiàng)連用。當(dāng)修改遠(yuǎn)程主機(jī)上的口令,用戶可以用該選項(xiàng)指定欲修改的帳號。這允許在不同系統(tǒng)中使用不同帳號的用戶修改自己的口令。
7> -s 該選項(xiàng)使 smbpasswd 以 silent (沉默)模式工作,在此模式下,smbpasswd 將從標(biāo)準(zhǔn)輸入讀取數(shù)據(jù),而不是默認(rèn)的 /dev/tty,這樣可以幫助用戶編寫調(diào)用 smbpasswd 的腳本。
4) 怎樣才能不使用加密口令
上面曾提到,使用加密口令主要是為了能順利地和 Windows NT 等客戶機(jī)進(jìn)行通信。為了達(dá)到這個目的,也可以修改 Windows NT 的注冊表,以強(qiáng)制其使用不加密的口令(Plain Password)。
TurboLinux 的 /usr/doc/samba-2.0.3/docs 目錄中有兩個注冊表文件,它們可以用來自動修改 Windows NT 4 和 Windows 95 的注冊表,用戶只需在 Windows 系統(tǒng)中雙擊其圖標(biāo)即可。這兩個文件是:NT4_PlainPassword.reg 和 Win95_plainPassword.reg。
六、 使用用戶映射
Samba提供的用戶映射機(jī)制包括“guest用戶映射”和“用戶映射”兩種:
1) guest用戶映射
guest用戶映射僅適用于安全模式(user,server和domain安全級).如果一個用戶沒有通過身份驗(yàn)證,就可以將其映射為guest用戶,從而允許他訪問guest共享.這里 guest 用戶由"guest account="參數(shù)指定.
guest用戶映射由全局參數(shù)"map to guest"控制,它只能放在[global]節(jié)中,可以是如下三個值:
1>map to guest = Never
不進(jìn)行映射,拒絕非法用戶訪問任何資源.這是默認(rèn)行為.
2>map to guest = Bad User
如果用戶使用一個不存在的帳號登錄,就將它映射為guest用戶;如果提供的帳號正確而口令錯誤,則禁止連接.
3>map to guest = Bad Password
將使用錯誤口令登錄的用戶映射為guest用戶.這樣的設(shè)置會產(chǎn)生一個問題,即如果用戶不小心鍵入了錯誤的口令,服務(wù)器會"偷偷地"將他映射為guest用戶,而不 出任何錯誤信息,這樣用戶會在不知情的情況下受到種種訪問限制.
2) 用戶映射
全局參數(shù)"username map"用來控制用戶映射,它允許管理員指定一個映射文件,該文件包含了在客戶機(jī)和服務(wù)器間進(jìn)行用戶映射的信息,如:
username map = /usr/local/samba/lib/users.map 用戶映射經(jīng)常用來在 Windows 和 Linux 主機(jī)之間進(jìn)行映射,因?yàn)橛脩艨赡茉趦蓚系
統(tǒng)上擁有不同的帳號;另一個用途是將幾個用戶映射為一個用戶,以使他們能更方便地共享文件.
下面是一個映射文件的例子:
# Map Windows admain to Linux root
root = admin administrator
; Map all the members of group system(用戶組) to sys
sys = @system
等號左邊的是單獨(dú)的 Linux 帳號,等號右邊的是要映射的帳號列表.服務(wù)器逐行分析映射文件,如果提供的帳號和某行右側(cè)列表中的帳號匹配,就把它替換為等號左邊的帳號.
如果該行前面沒有"!"符號,則繼續(xù)分析下面的行,否則不繼續(xù)分析.
"@"符號表示其后跟的是一個用戶組,該組中所有的用戶都會被映射為相應(yīng)的 Linux帳號.
符號"*"是通配符,它可以匹配任何用戶帳號.
以"#"或";"開頭的行是注釋行.
如果要映射包含空格的帳號(Windows帳號中允許有空格),可以用引號將其括起來,如:
# Map a windows account to LInux account
tridge = "Andrew Tridgell"
下面的例子將帳號fred和mary映射為帳號sys,將其他帳號映射為guets帳號.
!sys = mary fred
guest = *
注意: 服務(wù)器將對出現(xiàn)在任何位置上的帳號進(jìn)行映射.例如,如果連接到 \\server\fred,并且fred被映射為mary,那么實(shí)際連接的是\\server\mary,用戶應(yīng)該提供mary的口令,而不是fred的口令.Samba默認(rèn)不提供用戶映射.

七. 使用加密口令
從 Windows NT 4.0 Service Pack 3 開始,Microsoft決定不再在網(wǎng)絡(luò)中傳遞未加密的口令,而僅傳遞加密口令 (Encripted Password),新版本的Windwos 95 以及Windows98也采用這一約定.這些客戶機(jī)在和不支持加密口令并且以 user 安全級運(yùn)行的 Samba 服務(wù)器通信時,會遇到很大的困難.為了能順利地和這些客戶機(jī)通信,Samba 也加入了對加密口令的支持.
1) Samba 口令文件
為了使用加密口令,Samba 需要一份自己的口令文件,并且該文件應(yīng)該和Linux/etc/passwd 文件保持同步,可以使用mksmbpasswd.sh腳本來制作這份文件:
cat /etc/passwd | mksmbpasswd.sh > /etc/smbpasswd
其中smbpasswd就是需要的口令文件,其權(quán)限應(yīng)該設(shè)為0600,擁有者是root.samba口令
文件中的記錄和 /etc/smbpasswd 文件的記錄一一對應(yīng).每行的格式如下:
username:uid:xxx...xxx:xxx...xxx:Logname:user home dir:user shell
它的格式和 /etc/passwd 文件基本相同,只有密碼字段不同.密碼字段由兩個部分組成, 每部分都是32個"x".這兩部分就是Samba使用的加密口令,前一部分用于和LANManager通信, 后一部分用于和 Windows NT通信. Linux 的口令是無法破譯的,因此剛建立的口令文件中所有的用戶都沒有正確的口令,用32個"x"來表示.root用戶可以使用 smbpasswd 命令為每個用戶設(shè)定一個初始口令,這樣用戶就可以使用smbpasswd命令更改自己的 samba口令了. smbpasswd的使用方法和 passwd 命令類似. root 用戶也可以將口令設(shè)置為空,方法是手工修改口令文件,將前11個"x"改為
"NO PASSWORD":
NO PASSWORDxxx...xxx:xxx...xxx
這樣當(dāng)smbpasswd命令詢問用戶舊密碼時,就可以直接按回車鍵跳過.
2) 指定 samba 使用加密口令
要使 samba 使用加密口令,必須在 /etc/ssmb.conf 文件中的 [global]節(jié)中加入以下參數(shù):
encrypt passwords = yes
smb passwd file = /etc/smbpasswd
其中第一行通知 samba 使用加密口令。第二行給出口令文件的路徑。如果允許用戶使用空口令,則應(yīng)該使用如下參數(shù):
null passwords = yes
但這會帶來安全問題。
3) smbpasswd 命令
smbpasswd 命令除了可以修改用戶口令之外,還可以幫助 root 用戶添加和刪除用戶。smbpasswd 命令如果被 root 用戶運(yùn)行,那么它將直接修改口令文件,而不需要借助smbd;如果被普通用戶運(yùn)行,smbpasswd 就以客戶機(jī)/服務(wù)器模式工作,它連接到smbd 以完成必要的修改。客戶機(jī)/服務(wù)器模式使得 smbpasswd 不必成為一個 SUID 程序,避免產(chǎn)生安全漏洞。
smbpasswd命令常用選項(xiàng)有:
1> -a 增加一個用戶帳號,該帳號必須出現(xiàn)在 /etc/passwd 文件中,亦即是一個合法的 Linux 帳號,只有 root 可以使用本選項(xiàng)。
2> -d 禁止一個用戶帳號,并不將其刪除,僅供 root 使用。
3> -e 恢復(fù)一個被禁止的用戶帳號,僅供 root 使用。
4> -n 將帳號的口令設(shè)為空,即將口令字段的前11個字符改為“NO PASSWORD”。
僅供 root 使用。
5> -r remote_machine_name 本選項(xiàng)允許用戶指定遠(yuǎn)程主機(jī),如果沒有該選項(xiàng),那么smbpasswd 默認(rèn)修改本地 Samba 服務(wù)器上的口令。remote-machine-name 是 遠(yuǎn)程主機(jī)的 NetBIOS 名。
6> -U username 本選項(xiàng)只能和 -r 選項(xiàng)連用。當(dāng)修改遠(yuǎn)程主機(jī)上的口令,用戶可以用該選項(xiàng)指定欲修改的帳號。這允許在不同系統(tǒng)中使用不同帳號的用戶修改自己的口令。
7> -s 該選項(xiàng)使 smbpasswd 以 silent (沉默)模式工作,在此模式下,smbpasswd 將從標(biāo)準(zhǔn)輸入讀取數(shù)據(jù),而不是默認(rèn)的 /dev/tty,這樣可以幫助用戶編寫調(diào)用 smbpasswd 的腳本。
4) 怎樣才能不使用加密口令
上面曾提到,使用加密口令主要是為了能順利地和 Windows NT 等客戶機(jī)進(jìn)行通信。為了達(dá)到這個目的,也可以修改 Windows NT 的注冊表,以強(qiáng)制其使用不加密的口令(Plain Password)。
TurboLinux 的 /usr/doc/samba-2.0.3/docs 目錄中有兩個注冊表文件,它們可以用來自動修改 Windows NT 4 和 Windows 95 的注冊表,用戶只需在 Windows 系統(tǒng)中雙擊其圖標(biāo)即可。這兩個文件是:NT4_PlainPassword.reg 和 Win95_plainPassword.reg。


本文來自ChinaUnix博客,如果查看原文請點(diǎn):http://blog.chinaunix.net/u/5230/showart_68616.html
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報專區(qū)
中國互聯(lián)網(wǎng)協(xié)會會員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP