[轉載]linux用戶密碼的修改

轉載自:http://linux.chinaunix.net/bbs/thread-1167899-1-1. html

  一、passwd 簡單說明;

  咱們已經學會如何添加用戶了,因此咱們還要學習設置或修改用戶的密碼;passwd命令的用法也不少,咱們只選以下的幾個參數加以說明;想了解更多,請參考man passwd或passwd --help ;

  passwd [OPTION...]

  passwd 做爲普通用戶和超級權限用戶均可以運行,但做爲普通用戶只能更改本身的用戶密碼,但前提是沒有被root用戶鎖定;若是root用戶運行passwd ,能夠設置或修改任何用戶的密碼;

  passwd 命令後面不接任何參數或用戶名,則表示修改當前用戶的密碼;請看下面的例子;

  [root @localhost ~]# passwd 注:沒有加任何用戶,我是用root用戶來執行的passwd 表示修改root用戶的密碼;下面也有提示;

  Changing password for user root.

  New UNIX password: 注:請輸入新密碼;

  Retype new UNIX password: 注:驗證新密碼;

  passwd: all authentication tokens updated successfully. 注:修改root密碼成功;

  若是是普通用戶執行passwd 只能修改本身的密碼;

  若是新建用戶後,要爲新用戶建立密碼,則用 passwd 用戶名 ,注意要以root用戶的權限來建立;

  [root @localhost ~]# passwd beinan 注:更改或建立beinan用戶的密碼;

  Changing password for user beinan.

  New UNIX password: 注:請輸入新密碼;

  Retype new UNIX password: 注:再輸入一次;

  passwd: all authentication tokens updated successfully. 注:成功;

  普通用戶若是想更改本身的密碼,直接運行passwd便可;好比當前操做的用戶是beinan;

  [beinan @localhost ~]$ passwd

  Changing password for user beinan. 注:更改beinan用戶的密碼;

  (current) UNIX password: 注:請輸入當前密碼;

  New UNIX password: 注:請輸入新密碼;

  Retype new UNIX password: 注:確認新密碼;

  passwd: all authentication tokens updated successfully. 注:更改爲功;

  二、passwd 幾個比較重要的參數;

  [root @localhost beinan]# passwd --help

  Usage: passwd [OPTION...] <accountName>

  -k, --keep-tokens keep non-expired authentication tokens

  注:保留即將過時的用戶在期滿後能仍能使用;

  -d, --delete delete the password for the named account (root only)

  注:刪除用戶密碼,僅能以root權限操做;

  -l, --lock lock the named account (root only)

  注:鎖住用戶無權更改其密碼,僅能經過root權限操做;

  -u, --unlock unlock the named account (root only)

  注:解除鎖定;

  -f, --force force operation

  注:強制操做;僅root權限才能操做;

  -x, --maximum=DAYS maximum password lifetime (root only) 注:兩次密碼修正的最大天數,後面接數字;僅能root權限操做;

  -n, --minimum=DAYS minimum password lifetime (root only) 注:兩次密碼修改的最小天數,後面接數字,僅能root權限操做;

  -w, --warning=DAYS number of days warning users receives before 注:在距多少天提醒用戶修改密碼;僅能root權限操做;

  password expiration (root only)

  -i, --inactive=DAYS number of days after password expiration when an 注:在密碼過時後多少天,用戶被禁掉,僅能以root操做;

  account becomes disabled (root only)

  -S, --status report password status on the named account (root 注:查詢用戶的密碼狀態,僅能root用戶操做;

  only)

  --stdin read new tokens from stdin (root only)

  好比咱們讓某個用戶不能修改密碼,能夠用-l 參數來鎖定:

  [root @localhost ~]# passwd -l beinan 注:鎖定用戶beinan不能更改密碼;

  Locking password for user beinan.

  passwd: Success 注:鎖定成功;

  [beinan @localhost ~]# su beinan 注:經過su切換到beinan用戶;

  [beinan @localhost ~]$ passwd 注:beinan來更改密碼;

  Changing password for user beinan.

  Changing password for beinan

  (current) UNIX password: 注:輸入beinan的當前密碼;

  passwd: Authentication token manipulation error 注:失敗,不能更改密碼;

  再來一例:

  [root @localhost ~]# passwd -d beinan 注:清除beinan用戶密碼;

  Removing password for user beinan.

  passwd: Success 注:清除成功;

  [root @localhost ~]# passwd -S beinan 注:查詢beinan用戶密碼狀態;

  Empty password. 注:空密碼,也就是沒有密碼;

  注意: 當咱們清除一個用戶的密碼時,登陸時就無需密碼;這一點要加以注意;

  三、chage 修改用戶密碼有效期限的命令;

  chage 用語法格式:

  chage [-l] [-m 最小天數] [-M 最大天數] [-W 警告] [-I 失效日] [-E 過時日] [-d 最後日] 用戶

  前面已經說的好多了,這個只是一筆帶過吧,知道有這個命令就行,本身實踐實踐再說,大致和psswd有些參數的用法差很少;

  密 碼時效命令-----chage

  格式爲:chage [<選項>] <用戶名>

  下面列出了chage命令的選項說明:

  -m days: 密碼可更改的最小天數。爲零時表明任什麼時候候均可以更改密碼。

  -M days: 指定口令有效的最多天數。當該選項指定的天數加上-d選項指定的天數小於當前的日期時,用戶在使用該賬號前就必須改變口令。

  -d days: 指定從1970年1月1日起,口令被改變的天數。

  -I days: 指定口令過時後,賬號被鎖前不活躍的天數。若是值爲0,賬號在口令過時後就不會被鎖。

  -E date: 指定賬號被鎖的日期。日期格式YYYY-MM-DD。若不用日期,也可使用自1970年1月1往後通過的天數。

  -W days: 指定口令過時前要警告用戶的天數。

  -l: 列出指定用戶當前的口令時效信息,以肯定賬號什麼時候過時。

  例以下面的命令要求用戶user1兩天內不能更改口令,而且口令最長的存活期爲30天,而且口令過時前5天通知用戶

  chage -m 2 -M 30 -W 5 user1

  可使用以下命令查看用戶user1當前的口令時效信息:chage -l user1

  提示:1)可使用chage <用戶名>進入交互模式修改用戶的口令時效。

  2)修改口令實質上就是修改影子口令文件/etc/shadow中與口令時效相關的字段值。 http://hi.baidu.com/ubuntu2me/bl ... c83781c91768fe.html

  http://lolo6062.javaeye.com/blog/174033

  03-20

   linux命令建立和修改用戶及密碼

   linux下建立用戶

  一、添加ftp用戶

  useradd ftpname -d /home/ftp

  passwd ftppwd

  如下操做都以root權限進行:

  service vsftpd start 啓動 Linux自帶的FTP服務

  2. 添加普通用戶

  useradd nagios –d /usr/local/nagios

  chown nagios.nagios /usr/local/nagios

  將用戶切換到nagios 用戶,添加nagios的訪問用戶:

  su nagios

  htpasswd –c /usr/local/nagios/etc/htpasswd.users nagiosadmin

  系統會提示輸入兩次密碼,例如兩次輸入nagios。

  注: 這是第一次建立用戶,須要「-c」選項,表示建立一個存放用戶名和密碼的文件,當再次添加用戶或修改密碼時不用「-c」選項。

  添加新的用戶帳號使用useradd命令,其語法以下:

  useradd 選項 用戶名

  其中各選項含義以下:

  -c comment 指定一段註釋性描述。

  -d 目錄 指定用戶主目錄,若是此目錄不存在,則同時使用-m選項,能夠建立主目錄。

  -g 用戶組 指定用戶所屬的用戶組。

  -G 用戶組,用戶組 指定用戶所屬的附加組。

  -s Shell文件 指定用戶的登陸Shell。

  -u 用戶號 指定用戶的用戶號,若是同時有-o選項,則能夠重複使用其餘用戶的標識號。

  用戶名 指定新帳號的登陸名。

  例如:

  # useradd –d /usr/sam -m sam

  此命令建立了一個用戶sam,其中-d和-m選項用來爲登陸名sam產生一個主目錄/usr/sam(/usr爲默認的用戶主目錄所在的父目錄)。

  # useradd -s /bin/sh -g group –G adm,root gem

  此命令新建了一個用戶gem,該用戶的登陸Shell是/bin/sh,它屬於group用戶組,同時又屬於adm和root用戶組,其中group用戶組是其主組。

  增長用戶帳號就是在/etc/passwd文件中爲新用戶增長一條記錄,同時更新其餘系統文件如/etc/shadow, /etc/group等。這幾個文件的內容在後面會作詳細介紹。

   Linux提供了集成的系統管理工具userconf,它能夠用來對用戶帳號進行統一管理。

  若是一個用戶的帳號再也不使用,能夠從系統中刪除。刪除用戶帳號就是要將/etc/passwd等系統文件中的該用戶記錄刪除,必要時還刪除用戶的主目錄。刪除一個已有的用戶帳號使用userdel命令,其格式以下:

  userdel 選項 用戶名

  經常使用的選項是-r,它的做用是把用戶的主目錄一塊兒刪除。

  例如:

  # userdel sam

  此命令刪除用戶sam在系統文件中(主要是/etc/passwd, /etc/shadow, /etc/group等)的記錄,同時刪除用戶的主目錄。

  修改用戶帳號就是根據實際狀況更改用戶的有關屬性,如用戶號、主目錄、用戶組、登陸Shell等。

  修改已有用戶的信息使用usermod命令,其格式以下:

  usermod 選項 用戶名

  經常使用的選項包括-c, -d, -m, -g, -G, -s, -u以及-o等,這些選項的意義與useradd命令中的選項同樣,能夠爲用戶指定新的資源值。另外,有些系統可使用以下選項:

  -l 新用戶名

  這個選項指定一個新的帳號,即將原來的用戶名改成新的用戶名。

  例如:

  # usermod -s /bin/ksh -d /home/z –g developer sam

  此命令將用戶sam的登陸Shell修改成ksh,主目錄改成/home/z,用戶組改成developer。

  用戶管理的一項重要內容是用戶口令的管理。用戶帳號剛建立時沒有口令,可是被系統鎖定,沒法使用,必須爲其指定口令後纔可使用,即便是指定空口令。

  指定和修改用戶口令的Shell命令是passwd。超級用戶能夠爲本身和其餘用戶指定口令,普通用戶只能用它修改本身的口令。命令的格式爲:

  passwd 選項 用戶名

  可以使用的選項:

  -l 鎖定口令,即禁用帳號。

  -u 口令解鎖。

  -d 使帳號無口令。

  -f 強迫用戶下次登陸時修改口令。

  若是默認用戶名,則修改當前用戶的口令。

  例如,假設當前用戶是sam,則下面的命令修改該用戶本身的口令:

  $ passwd

  Old password:******

  New password:*******

  Re-enter new password:*******

  若是是超級用戶,能夠用下列形式指定任何用戶的口令:

  # passwd sam

  New password:*******

  Re-enter new password:*******

  普通用戶修改本身的口令時,passwd命令會先詢問原口令,驗證後再要求用戶輸入兩遍新口令,若是兩次輸入的口令一致,則將這個口令指定給用戶;而超級用戶爲用戶指定口令時,就不須要知道原口令。

  爲了系統安全起見,用戶應該選擇比較複雜的口令,例如最好使用8位長的口令,口令中包含有大寫、小寫字母和數字,而且應該與姓名、生日等不相同。

  爲用戶指定空口令時,執行下列形式的命令:

  # passwd -d sam

  此命令將用戶sam的口令刪除,這樣用戶sam下一次登陸時,系統就再也不詢問口令。

  passwd命令還能夠用-l(lock)選項鎖定某一用戶,使其不能登陸,例如:

  # passwd -l sam useradd -u 0 -o -g 0 youname

  建一和root權限同樣的賬號youname:

  -u 0 就是建一個uid=0的賬號

  -o (注意是字母o,不是數字0)就是容許使用重複的id號

  -g 0 就是建一個gid=0的賬號

  youname就是你建的賬號名.

  useradd -c likeroot -d /home/likeroot -u 501 -g root likeroot

  mkdir /home/likeroot

  vi /etc/passwd文件,改uid爲0

  likeroot:0:0:likeroot:/home/likeroot:

  修改/etc/password 文件,把你添加的用戶id 修改爲0 就能夠和root同樣的權限了!

  或者修改/etc/vsftp*開頭的兩個文件,把root註釋掉,而後把/etc/pam.d/login裏面的第一行註釋掉!

  這樣你就能夠用root 進行遠程登錄和ftp了,不過這樣不安全!

  /etc/passwd中一行記錄對應着一個用戶,每行記錄又被冒號(分隔爲7個字段,其格式和具體含義以下:

  用戶名:口令:用戶標識號:組標識號:註釋性描述:主目錄:登陸Shell

  1)「用戶名」是表明用戶帳號的字符串。一般長度不超過8個字符,而且由大小寫字母和/或數字組成。登陸名中不能有冒號(,由於冒號在這裏是分隔符。爲了兼容起見,登陸名中最好不要包含點字符(.),而且不使用連字符(-)和加號(+)打頭。

  2)「口令」一些系統中,存放着加密後的用戶口令字。。雖然這個字段存放的只是用戶口令的加密串,不是 明文,可是因爲/etc/passwd文件對全部用戶均可讀,因此這還是一個安全隱患。所以,如今許多 Linux 系統(如SVR4)都使用了shadow技術,把真正的加密後的用戶口令字存放到/etc/shadow文件中,而在/etc/passwd文件的口令字段中只存放一個特殊的字符,例如「x」或者「*」。

  3)「用戶標識號」是一個整數,系統內部用它來標識用戶。通常狀況下它與用戶名是一一對應的。若是幾個用戶名對應的用戶標識號是同樣的,系統內部將把它們視爲同一個用戶,可是它們能夠有不一樣的口令、不一樣的主目錄以及不一樣的登陸Shell等。

  一般用戶標識號的取值範圍是0~65 535。0是超級用戶root的標識號,1~99由系統保留,做爲管理帳號,普通用戶的標識號從100開始。在 Linux系統中,這個界限是500。

  4)「組標識號」字段記錄的是用戶所屬的用戶組。它對應着/etc/group文件中的一條記錄。

  5)「註釋性描述」字段記錄着用戶的一些我的狀況,例如用戶的真實姓名、電話、地址等,這個字段並無什麼實際的用途。在不一樣的 Linux 系統中,這個字段的格式並無統一。在許多 Linux系統中,這個字段存放的是一段任意的註釋性描述文字,用作finger命令的輸出。

  6)「主目錄」,也就是用戶的起始工做目錄,它是用戶在登陸到系統以後所處的目錄。在大多數系統中,各用戶的主目錄都被組織在同一個特定的目錄下,而用戶主目錄的名稱就是該用戶的登陸名。各用戶對本身的主目錄有讀、寫、執行(搜索)權限,其餘用戶對此目錄的訪問權限則根據具體狀況設置。

  7)用戶登陸後,要啓動一個進程,負責將用戶的操做傳給內核,這個進程是用戶登陸到系統後運行的命令解釋器或某個特定的程序,即Shell。Shell 是用戶與 Linux系統之間的接口。 Linux的Shell有許多種,每種都有不一樣的特色。經常使用的有sh(Bourne Shell), csh(C Shell), ksh(Korn Shell), tcsh(TENEX/TOPS-20 type C Shell), bash(Bourne Again Shell)等。系統管理員能夠根據系統狀況和用戶習慣爲用戶指定某個Shell。若是不指定Shell,那麼系統使用sh爲默認的登陸Shell,即這個字段的值爲/bin/sh。

  用戶的登陸Shell也能夠指定爲某個特定的程序(此程序不是一個命令解釋器)。利用這一特色,咱們能夠限制用戶只能運行指定的應用程序,在該應用程序運行結束後,用戶就自動退出了系統。有些 Linux 系統要求只有那些在系統中登記了的程序才能出如今這個字段中。

  做用

  passwd命令原來修改帳戶的登錄密碼,使用權限是全部用戶。

  2.格式

  passwd [選項] 帳戶名稱

  3.主要參數

  -l:鎖定已經命名的帳戶名稱,只有具有超級用戶權限的使用者方可以使用。

  -u:解開帳戶鎖定狀態,只有具有超級用戶權限的使用者方可以使用。

  -x, --maximum=DAYS:密碼使用最大時間(天),只有具有超級用戶權限的使用者方可以使用。

  -n, --minimum=DAYS:密碼使用最小時間(天),只有具有超級用戶權限的使用者方可以使用。

  -d:刪除使用者的密碼, 只有具有超級用戶權限的使用者方可以使用。

  -S:檢查指定使用者的密碼認證種類, 只有具有超級用戶權限的使用者方可以使用。

  4.應用實例

  $ passwd

  Changing password for user cao.

  Changing password for cao

  (current) UNIX password:

  New UNIX password:

  Retype new UNIX password:

  passwd: all authentication tokens updated successfully.

  從上面能夠看到,使用passwd命令須要輸入舊的密碼,而後再輸入兩次新密碼。 Linux聯盟收集整理

Linux 操做系統是UNIX 操做系統的一種克隆系統。它誕生於1991 年的10 月5 日(這是第一次正式向外公佈的時間)。之後藉助於Internet 網絡,並通過全世界各地計算機愛好者的共同努力下,現已成爲今天世界上使用最多的一種UNIX 類操做系統,而且使用人數還在迅猛增加。  Linux 操做系統的誕生、發展和成長過程始終依賴着如下五個重要支柱:UNIX 操做系統、MINIX 操做系統、GNU 計劃、POSIX 標準和Internet 網絡。html

相關文章
相關標籤/搜索