-
passwd
鎖定
passwd,一種計算機命令、文件的名稱。passwd命令用來更改使用者的密碼,passwd文件通常在Linux系統中,用户的關鍵信息被存放在系統的/etc/passwd文件中,
- 中文名
- passwd
- 使用權限
- 所有使用者
- 使用方式
- passwd [-k] [-l] [-u [-f]
- 説 明
- 用來更改使用者的密碼
passwd結構體
passwd結構體
在<pwd.h>中定義
struct passwd { char * pw_name; /* Username, POSIX.1 */ char * pw_passwd; /* Password */ __uid_t pw_uid; /* User ID, POSIX.1 */ __gid_t pw_gid; /* Group ID, POSIX.1 */ char * pw_gecos; /* Real Name or Comment field */ char * pw_dir; /* Home directory, POSIX.1 */ char * pw_shell; /* Shell Program, POSIX.1 */ char *pw_class; time_t pw_change; time_t pw_expire; };
在POSIX.1中只指定了passwd結構包含的10個字段的五個。大多數平台至少支持其中七個字段。bsd派生的平台支持全部十個字段。
passwd命令
簡介
名稱:passwd
:
:
參數
-k
-l 關閉賬號密碼。效果相當於usermod -L,只有root才有權使用此項。
-u 恢復賬號密碼。效果相當於usermod -U,同樣只有root才有權使用。
-g 修改組密碼。gpasswd的等效命令。
-f 更改由finger命令訪問的用户信息。
-d 關閉使用者的密碼認證功能, 使用者在登入時將可以不用輸入密碼, 只有具備 root 權限的使用者方可使用.
-S 顯示指定使用者的密碼認證種類, 只有具備 root 權限的使用者方可使用.
[username] 指定賬號名稱.
passwd文件
簡介
一般用户只能更改自己的用户密碼.
root用户可以更改自己或其它用户的密碼。
一般情況下id號小於100是系統的內置id。
用户id一般是從500開始編號的。
此外,需要注意的是,如果passwd字段中的第一個字符是“*”的話,那麼,就表示該賬號被查封了,系統不允許持有該賬號的用户登錄。
示例
下面是一個passwd文件的示例(部分摘錄):
root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin:/sbin/nologin daemon:x:2:2:daemon:/sbin:/sbin/nologin desktop:x:80:80:desktop:/var/lib/menu/kde:/sbin/nologin mengqc:x:500:500:mengqc:/home/mengqc:/bin/bash
在該文件中,每一行用户記錄的各個數據段用“:”分隔,分別定義了用户的各方面屬性。各個字段的順序和含義如下:
(1)註冊名(login_name):用於區分不同的用户。在同一系統中註冊名是唯一的。在很多系統上,該字段被限制在8個字符(字母或數字)的長度之內;並且要注意,通常在Linux系統中對字母大小寫是敏感的。這與MSDOS/Windows是不一樣的。
(2)口令(passwd):系統用口令來驗證用户的合法性。超級用户root或某些高級用户可以使用系統命令passwd來更改系統中所有用户的口令,普通用户也可以在登錄系統後使用passwd命令來更改自己的口令。
現在的Unix/Linux系統中,口令不再直接保存在passwd文件中,通常將passwd文件中的口令字段使用一個“x”來代替,將/etc /shadow作為真正的口令文件,用於保存包括個人口令在內的數據。當然shadow文件是不能被普通用户讀取的,只有超級用户才有權讀取。
此外,需要注意的是,如果passwd字段中的第一個字符是“*”的話,那麼,就表示該賬號被查封了,系統不允許持有該賬號的用户登錄。
(3)用户標識號(UID):UID是一個數值,是Linux系統中唯一的用户標識,用於區別不同的用户。在系統內部管理進程和文件保護時使用UID字段。在Linux系統中,註冊名和UID都可以用於標識用户,只不過對於系統來説UID更為重要;而對於用户來説註冊名使用起來更方便。在某些特定目的下,系統中可以存在多個擁有不同註冊名、但UID相同的用户,事實上,這些使用不同註冊名的用户實際上是同一個用户。
(4)組標識號(GID):這是當前用户的缺省工作組標識。具有相似屬性的多個用户可以被分配到同一個組內,每個組都有自己的組名,且以自己的組標 識號相區分。像UID一樣,用户的組標識號也存放在passwd文件中。在現代的Unix/Linux中,每個用户可以同時屬於多個組。除了在passwd文件中指定其歸屬的基本組之外,還在/etc/group文件中指明一個組所包含用户。
(6)用户主目錄(home_directory):該字段定義了個人用户的主目錄,當用户登錄後,他的Shell將把該目錄作為用户的工作目錄。在Unix/Linux系統中,超級用户root的工作目錄為/root;而其它個人用户在/home目錄下均有自己獨立的工作環境,系統在該目錄下為每個用户配置了自己的主目錄。個人用户的文件都放置在各自的
主目錄下。
(7)命令解釋程序(Shell):Shell是當用户登錄系統時運行的程序名稱,通常是一個Shell程序的全路徑名,
如/bin/bash。為了阻止一個特定用户登錄系統,可用/dev/null作為其shell,或例子中的/sbin/nologin。
passwd使用方法
該命令的使用方法如下:
輸入
passwd< Enter>;
在(current) UNIX passwd:下輸入當前的口令
在new password:提示下輸入新的口令(在屏幕上看不到這個口令):
系統提示再次輸入這個新口令。
輸入正確後,這個新口令被加密並放入/etc/shdow文件。選取一個不易被破譯的口令是很重要的。
選取口令應遵守如下規則:
口令應該至少有六位(最好是八位)字符;
口令應該是大小寫字母、標點符號和數字混雜的。
超級用户修改其他用户(xxq)的口令的過程如下,
# passwd root New UNIX password: Retype new UNIX password: passwd: all authentication tokens updated successfully #
- 參考資料
-
- 1. Linux命令passwd .IT168.2012-4-24 [引用日期2012-12-16]
- 詞條統計
-
- 瀏覽次數:次
- 編輯次數:21次歷史版本
- 最近更新: 一碗加糖饭