smbpasswd - 改變使用者的SMB口令
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]
此程式是
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並沒有在執行時也可以。
- -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.
由於非root使用者是以客戶機-伺服器模式執行
smbpasswd與本地smbd通訊,因此smbd守護程式必須在執行狀態。通常會出現的一個問題是在對可以連線到本地執行的smbd的主機進行限制的時候,透過在
smb.conf(5)
配置檔案中指定
allow
hosts或者
deny
hosts引數但是忘記了允許“localhost”對smbd進行連線。
另外smbpasswd命令只有在已經把samba設成使用加密口令時才能發揮作用。
此手冊頁是針對samba套件版本3.0的。
smbpasswd(5),
Samba(7).
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 <[email protected]>
2000/12/08
http://cmpp.linuxforum.net
本頁面中文版由中文 man
手冊頁計劃提供。
中文 man 手冊頁計劃:
https://github.com/man-pages-zh/manpages-zh