SMBPASSWD(8)

NAME
smbpasswd - 改變使用者的SMB口令

總覽 SYNOPSIS
smbpasswd [-a] [-x] [-d] [-e] [-D debuglevel] [-n] [-r <remote machine>] [-R <name resolve order>] [-m] [-U username[%password]] [-h] [-s] [-w pass] [-i] [-L] [username]

描述 DESCRIPTION

此程式是Samba(7)套件的一部分。

smbpasswd程式有幾個不太一樣的功能，這取決於它被root賬號還是其它賬號來使用。當普通使用者運行它時，使用者可以通過SMB會話在任何保存SMB口令的機器上改變他們的口令。

預設情況下(不帶參數運行)它會嘗試在本地改變當前使用者的SMB口令。這和passwd(1)程式的工作方式類似。不過， smbpasswd和具有setuid root 特性的passwd還是不一樣的，它工作在客戶機-伺服器模式, 並且與本地運行中的smbd(8)通信。為了運行成功，smbd守護程式必須正在本地主機上運行。在UNIX主機上通常用smbpasswd(5) 來存放SMB的加密口令。

當普通使用者不帶選項來運行這個程式時，smbpasswd會向他們提示輸入原SMB口令並詢問所需的新口令兩次，來確保輸入正確. 輸入時螢幕並不回顯。如果你用了一個空SMB口令(在smbpasswd檔案中會指定字串「NO PASSWORD」)的話，在程式提示輸入原口令時可以直接輸入<Enter>鍵。

普通使用者也可以在遠程主機(例如Windows NT主域控制器)上用smbpasswd來改他們的SMB口令。詳細情況請參見以下的(-r)和-U兩個選項。

當root運行這個程式時，smbpasswd可以在smbpasswd檔案中增刪使用者，也可以改變使用者屬性。這時， smbpasswd 會直接訪問本地smbpasswd檔案，即使smbd並沒有在運行時也可以。

選項 OPTIONS

-a  在這個選項後跟上使用者名用來實現在本地smbpasswd檔案中增加使用者，並且同時設置口令(提示原口令時用<Enter>)。如果smbpasswd檔案中已經存在了這個使用者時，命令就變成通常的修改口令模式。注意，預設的passdb後端要求所要加入的SMB使用者必須是系統口令檔案中(通常是/etc/passwd)已經存在的使用者否則加入操作將會失敗。 只有root運行smbpasswd程式時才可以使用這個選項。

-x  This option specifies that the username following should be deleted from the local smbpasswd file. This option is only available when running smbpasswd as root.

-d  這個選項後跟使用者名用來禁止存在於smbpasswd檔案中的這個賬號。通過在smbpasswd檔案的賬號控制部分寫入 'D'標誌來實現這個功能。一旦賬號被禁止，所有使用這個賬號作SMB身份驗証的嘗試都將失敗。 如果smbpasswd檔案還是舊格式的話(比如Samba 2.0之前版本)，在使用者口令項中沒有這樣的賬號控制部分可以作任何標誌，這個命令會*失敗*。關於口令檔案的新格式和舊格式細節可以參見smbpasswd(5) 。 只有root運行smbpasswd程式時才可以使用這個選項。

-e  這個選項後跟使用者名用來在本地smbpasswd檔案中的這個賬號被禁止時重新允許使用。如果賬號並未被禁止的話，使用這個選項不會有什麼結果。被允許的賬號將可以通過SMB的身份驗証。 使用老格式的口令檔案時， smbpasswd 將運行失敗。關於口令檔案的新格式和舊格式細節可以參見smbpasswd(5)。 只有root運行smbpasswd程式時才可以使用這個選項。

-D debuglevel
    debuglevel 是一個從0到10的整數。如果沒有指定此參數則預設的值是0。 如果這個值越高，越多關於smbpasswd的詳細活動信息將被記錄到檔案中。在0調試級時，只記錄緊急錯誤和嚴重警告。 1以上的調試級將產生相當多的記錄數據，並且只在解決問題時才有用。3以上的調試級只被設計為讓開發者使用並會產生極大數量的記錄數據，而且其中很多部分非常難以理解。

-n  用這個選項後跟使用者名來把這個賬號的口令設為空(也就是沒有口令)。程式會把本地smbpasswd檔案中該口令項的第一部分改為「NO PASSWORD」。 注意如果設置了"NO PASSWORD"之後，要允許使用者以空口令登入到Samba伺服器，管理員必須在smb.conf配置檔案的[global]段中設置以下的參數： null passwords = yes 只有root運行smbpasswd程式時才可以使用這個選項。

-r remote machine name
    使用這個選項來讓使用者指定他們所希望改變口令的主機，不用此參數時預設對本地更改口令。SMB/CIFS伺服器會試圖聯接以remote machine name作為NetBIOS名字的主機以更改口令。Samba套件中的所有程式都使用標準的名字解析機制來把這樣的名字轉換成IP地址。參見-R name resolve order參數來獲得改變解析機制的詳細信息。 用這個選項更改密碼的賬號就是當前登入UNIX的賬號。要改變其它帳號的密碼可以參見-U username參數。 注意，如果要改變一個NT域賬號，指定的遠程主機必須是域中的主域控制器，因為備份域控制器只維護使用者賬號數據庫的只讀復本，而不能更改。 注意的是Windows 95/98實際根本沒有口令數據庫，所以不可能更改遠程Win95/98主機上的口令

-R name resolve order
    用這個選項來讓使用smbclient的使用者在查詢主機NetBIOS名字用於聯接時，決定使用怎樣的名字解析服務。 這些名字解析選項是："lmhosts","host","wins"和"bcast".它們決定了名字解析是以如下方式的： lmhosts : 在samba的lmhosts檔案中查找IP地址.如果lmhosts檔案的內容行中沒有名字類型附加在NetBIOS名上時(參見lmhosts (5)中的詳細描述),任何類型的名字都可以匹配這個查詢. host : 執行標準的主機名到IP地址的解析操作,此操作會使用系統的/etc/hosts,NIS或者是DNS來查詢.具體方法取決於作業系統,在IRIX和Solaris中解析名字的方法可能是由/etc/nsswitch.conf檔案來控制的.注意此方法只適用於對被查詢的NetBIOS名字類型為0x20(伺服器)時才有用,其它類型都會被忽略. wins : 向列在wins server選項中的伺服器查詢一個名字對應的IP地址.如果沒有指定WINS伺服器,那麼此方法就被略過了. bcast : 向在interfaces選項中列出的每一個已知本地網路接口進行廣播來作查詢.這是最不可信的名字解析方法,除非目標主機就在本地子網中. 預設的順序是 lmhosts, host, wins, bcast。如果沒有這個參數，smb.conf(5) 檔案中也沒有選項，將嘗試這個順序的名字解析。

-m  這個選項來把賬號改為一個MACHINE賬號。通常當Samba作為Windows NT主域控制器的時候可以使用它。 只有root運行smbpasswd程式時才可以使用這個選項。

-U username
    這個選項只能和 -r選項聯合使用。當從遠程主機更改口令時，用它來允許使用者指定要改變的遠程主機口令的使用者賬號。這使得在不同的系統上使用不同的賬號的使用者可以口令。

-h  使用這個選項可以列印出 smbpasswd的幫助信息，注意選擇正確的幫助: root使用者和普通使用者使用的。

-s  使用這個選項會使smbpasswd保持安靜(不發出提示)，在標準輸入上讀取原口令和新口令。而不是從/dev/tty上讀口令(像passwd(1)那樣)。使用稿本來處理smbpasswd時可以用它。

-w password
    This parameter is only available if Samba has been configured to use the experimental --with-ldapsam option. The -w switch is used to specify the password to be used with the ldap admin dn. Note that the password is stored in the secrets.tdb and is keyed off of the admin's DN. This means that if the value of ldap admin dn ever changes, the password will need to be manually updated as well.

-i  This option tells smbpasswd that the account being changed is an interdomain trust account. Currently this is used when Samba is being used as an NT Primary Domain Controller. The account contains the info about another trusted domain. This option is only available when running smbpasswd as root.

-L  Run in local mode.

username
    This specifies the username for all of the root only options to operate on. Only root can specify this parameter as only root has the permission needed to modify attributes directly in the local smbpasswd file.

注意 NOTES

由於非root使用者是以客戶機-伺服器模式運行smbpasswd與本地smbd通信，因此smbd守護程式必須在運行狀態。通常會出現的一個問題是在對可以連接到本地運行的smbd的主機進行限制的時候，通過在smb.conf(5) 配置檔案中指定allow hosts或者deny hosts參數但是忘記了允許「localhost」對smbd進行連接。

另外smbpasswd命令只有在已經把samba設成使用加密口令時才能發揮作用。

版本 VERSION

此手冊頁是針對samba套件版本3.0的。

參見 SEE ALSO

smbpasswd(5), Samba(7).

作者 AUTHOR

samba軟體和相關工具最初由Andrew Tridgell創建。samba現在由Samba Team 作為開源軟體來發展，類似linux核心的開發方式。

最初的samba手冊頁是 Karl Auer寫的。 手冊頁原始碼已經轉換為YODL格式(另一種很好的開源軟體，可以在ftp://ftp.ice.rug.nl/pub/unix找到)，由Jeremy Sllison 更新到Samba2.0 版本。 Gerald Carter 在Samba2.2中將它轉化為DocBook 格式。 Alexander Bokovoy 在Samba 3.0中實現了DocBook XML4.2 格式的轉換。

[中文版維護人]
meaculpa <meaculpa@21cn.com>

[中文版最新更新]
2000/12/08

《中國linux論壇man手冊頁翻譯計劃》:
http://cmpp.linuxforum.net