1. 程式人生 > >Linux程式設計 15 檔案許可權(使用者管理 useradd,userdel,usermod,passwd,chpasswd,chsh, chfn,chage)

Linux程式設計 15 檔案許可權(使用者管理 useradd,userdel,usermod,passwd,chpasswd,chsh, chfn,chage)

一. 概述 

  在上一篇中講到了與使用者賬戶有關的二個檔案passwd和shadow,以及useradd工具的介紹。這篇接著講useradd+引數,刪除使用者,修改使用者的演示。

  1. 刪除使用者userdel

    使用userdel可以刪除使用者,但只會刪除etc/passwd檔案中的使用者資訊,而不會刪除系統中屬於該賬戶的任何檔案。如果加上-r 引數,userdel會刪除使用者HOME目錄以及郵件目錄。使用-r引數時要檢查使用者HOME目錄下是否存放了其他使用者和其他程式使用的重要檔案。    先檢視下test使用者的檔案資訊如下:          再使用userdel -r命令來刪除, 沒有了該使用者和home目錄。如下圖所示:      

  

  2. 新增使用者useradd

    上篇講了useradd+m引數建立home目錄的演示,下面新增test使用者,並使用-d引數指定home檔案啟動檔案目錄為home/test1。,/etc/passwd檔案中test使用者也有了。如下圖所示:          在上篇中講到useradd命令預設情況是不會建立HOME目錄,但這裡沒有使用-m 引數也建立了HOME目錄,下面試試使用useradd不加任何引數,建立test2使用者,還是會建立home目錄,如下圖所示。      

3. 修改使用者

    對於修改使用者,linux提供了一些不同的工具來修改已有使用者賬戶的資訊。列表如下:

工具名

描述

usermod

修改使用者賬戶的欄位,還可以指定主要組以及附加組的所屬關係

passwd

修改已有使用者的密碼

chpasswd

從檔案中讀取登入名密碼對,並更新密碼

chage

修改密碼過期日期

chfn

修改使用者賬戶的備註資訊

chsh

修改使用者賬戶的預設登入shell

    3.1  usermod工具      usermod 命令是使用者賬戶修改工具中最強大的一個,它用來修改etc/passwd檔案中的大部份欄位。下面是該工具常用引數的說明:

-l

修改使用者賬戶的登入名

-L

鎖定賬戶,使使用者無法登入

-p

修改賬戶的密碼

-U

解除鎖定。使使用者能夠登入

-e

修改過期日期

-c

修改備註欄位

      例如:使用usermod給已有test使用者修改備註資訊“remark”,在passwd檔案中可以看到已新增的備註資訊,如下圖所示:        

    3.2 passwd工具

要改變使用者密碼最簡便方法就是用passwd命令,下面給test使用者設定強密碼: [email protected]#$。 太過簡單的密碼會提示"過於簡單化",密碼不足8位會提示:密碼不匹配,如下圖所示:              修改密碼成功後,再檢視shadow檔案,test使用者密碼已加密,如下圖所示:              要注意的是使用passwd命令,只能修改自己的密碼,只有root使用者才有許可權修改所有使用者密碼。設定了密碼後,使用Xshell  遠端工具就能連線上了,如下圖所示:              test使用者目錄提示符,預設在 /home/test1目錄下, 使用cd 退回二級到了虛擬目錄根目錄下,如下所示:            

     3.3 其它工具

      (1) chpasswd :如果要大量使用者修改密碼,該工具命令可以事半功倍。       (2) chsh : 該命令用來快速修改預設的使用者登入shell。例如 chsh -s /bin/csh test 。       (3) chfn:該命令會向你詢問要將哪些適合的內容加入備註欄位,下面給test使用者加內容備註,如下圖所示:              (4) chage: 該命令用來管理使用者賬戶的有效期,你需要對每個值設定多個引數,列表如下:

引數

描述

-d

設定上次修改密碼到現在的天數

-E

設定密碼過期的日期

-I

設定密碼過期到鎖定賬戶的天數

-m

設定修改密碼之間最小要多少天

-w

設定密碼過期前多久開始出現提醒資訊

        下面為test使用者設定-E和-W引數,如下圖所示:                通過chage -l test  可以更加清楚易懂對test使用者的設定: