【Linux】 用戶管理
Linux用戶管理
■ 查看用戶整體情況
cat /etc/passwd可以查看用戶的一些基本信息。用finger <user>似乎更加方便
查看某一個特定的用戶的話就可以 grep <user> /etc/passwd /etc/shadow /etc/group把三個信息文件連起來寫,一次性地提取出這個用戶相關的信息
■ 加入新用戶
在沒有特殊要求的時候,只要useradd <user>就好了。useradd命令有一些默認的參數,可以通過useradd -D來查看。這些參數配置在/etc/default/useradd中
用root可以忽略其他用戶的舊密碼,強行給用戶設置一個新密碼。passwd <user>
root用戶可以passwd -S <user>顯示/etc/shadow中的一些信息。如果想要修改這些信息(主要是密碼的一些信息比如密碼過期日期,密碼失效日期,密碼過期後容許改密碼的日期等等)的話用chage比較方便。chage -l可以列出這些信息。
■ 關於/etc/passwd和/etc/shadow的文件結構
眾所周知,/etc/passwd中承載著關於用戶的很多信息,關於它的文件結構:
每一行代表著一個用戶的信息,不同字段之間的信息用一個冒號隔開
每一行的內容大致是:"用戶名:密碼(顯示為x,真正的密碼信息在/etc/shadow中只有root有權限看):UID:GID:用戶信息說明:用戶主文件夾:用戶所用的shell類型"
比如以root為例,root在passwd文件中的那一行就是 , "root:x:0:0:root:/root:/bin/bash"。
至於shadow文件,是存放著所有用戶密碼信息的重要哦文件,權限是000,只有root用戶有權限查看。shadow的文件結構如下:
"用戶名:密碼密文:最近改動密碼的日期(格式是天數時間戳):密碼被修改後連續多少天不能修改(0則表示修改完後可立即再修改):密碼會在多少天後過期(99999表示密碼不會過期):密碼過期前幾天警告:密碼過期後寬限天數:賬號失效時間(和密碼失效不一樣,密碼失效只要再改下密碼即可,賬號失效的話改密碼也無濟於事):保留字段"
shadow文件中每一行的第三字段+第五字段是密碼過期的日期,此時已經無法用老密碼登錄系統,在此基礎上還有第七字段的天數作為寬限,寬限期內還可以自己去改密碼。
比如root用戶在shadow中的信息是"root:$6$TB5wGNj(密文意思一下。。):17292:0:99999:7:::"
■ last
last命令用於查看用戶的登錄歷史情況(倒序),它自動讀取/var/log/wtmp文件
last -a將登錄用戶的主機名或IP(SSH連接時)顯示在最後一個字段
last -f <file> 可以指定文件,比如和wtmp同目錄的btmp更加詳細地記錄了遠程登錄的信息
之前好像在哪裏也提到過,last命令看到的都是成功登錄的信息,如果要算上登錄失敗以及嘗試登錄的這些信息的話應該要看/var/log/secure文件
【Linux】 用戶管理