天天看點

使用者及使用者組管理指令彙總

使用者及使用者組管理指令彙總

指令總結: 

useradd, usermod, userdel, passwd

groupadd, groupdel, groupmod, gpasswd, newgrp

chage, chsh, chfn, who, id, finger

su, w

============================================================================================================

檔案總結:

/etc/passwd 使用者的賬号資訊

/etc/shadow 使用者密碼和相關的賬戶設定

/etc/group  組的賬号資訊

/etc/gshadow 組的密碼資訊

/etc/passwd檔案:

account:password:UID:GID:GECOS:directory:SHELL

登入名:密碼點位符:UID:GID:注釋資訊:家目錄:使用者的預設shell

使用者可以加入多個組:

基本組(passwd檔案中的GID為使用者的基本組,附加組資訊在/etc/group中)

附加組

/etc/shadow檔案:

username:encrypted_password:Last_password_change_date:minimun_password_age:maximum_password_age:password_warning_period:password_inactivity_period:account_expiration_date:reserved_filed

使用者名:加密的密碼:最近一次修改密碼的時間:密碼最短使用期限:密碼最長使用期限:密碼過期警告區間:密碼非活動期限:賬号過期期限:保留區域

username: 必須為有效并存在的使用者名

encrypted_password: 

Last_password_change_date:      

上次密碼修改時間,從1970年1月1日起-至修改當時的天數

0:表示下次登陸必須修改密碼

空:表示密碼aging功能被禁用

minimum_password_age:  

允許使用者再次修改密碼的時間段

0 表示不限制再次修改密碼的時間

maximum_password_age:

xx天後,使用者必須要更改密碼的時間段。

xx天後,原密碼仍然有效,下次登陸時候會被提示更改密碼

空: 使用者沒有maximum_password_age和password_warning_period, password_inactivity_period.

如果maximum < minimum, 則使用者不能更改密碼

password_warning_period:

距離maximum的日期,使用者會被警告需要更改密碼

0:不會被提醒更改密碼

password_inactivity_period:

密碼過期後的寬限期天數,從maximum到inactivity之間,原密碼仍然有效

過了maximum,繼續超過inactivity的天數,則密碼無法再次登入

空: 沒有過期後的inactivity強制時間段

account_expiration_date:

賬号過期的日期,從1970年1月1日到設定的天數

不同于密碼過期,如果賬号過期,使用者将無法通過密碼登陸系統

空:  賬号永不過期

0: 賬戶過期日期為1970年1月1号, 可了解為賬戶被禁用

reserved_filed:

保留字段,目前無用

man 5 shadow 可以檢視全部詳細/etc/shadows檔案的解釋文檔

/etc/group檔案:

groupname:組密碼點位符:GID:user_list(屬于該groupname組的username_list,使用逗号隔開)

user_list: 以此組作為附加組的使用者清單

groupname:encrypted password:administrators:members

groupname: 系統中存在的有效的組名

encrypted password: 加密的密碼

administrators: 必須是逗号分隔的使用者名

administrators内的使用者可以更改組密碼, 也可以更改組内成員

members: 必須是逗号分割的使用者名

members内的使用者可以無需密碼通路該組

應該使用/etc/group内的user list

使用者賬号管理:

useradd - 建立新使用者,或者 更新 新使用者賬号資訊

useradd [-D] [options] LOGIN

當不加 -D 選項, 系統将更新系統檔案來完成建立:

1. 添加新使用者(/etc/passwd)

2. 與使用者同名的組(/etc/group)

3. 建立與使用者名同名的HOME目錄(/home/USERNAME)

[options]

-u UID 使用者辨別符

-g GID 所屬的基本組

-G GID 所屬的附加組

-c 'COMMENT' 注釋資訊

-d /path/to/home 指定user家目錄,如果此目錄事先存在,建立時會有警告

-s SHELL: 必須是/etc/shells檔案中存在的shell

-m 強制給使用者建立家目錄

-M 不給使用者建立家目錄

-r 建立系統使用者(0<UID<499, 沒有aging資訊,沒有家目錄,如果需要給系統使用者建立家目錄,需要-m指定)

usermod - 修改一個使用者賬号

usermod [options] USERNAME

-u UID

-g GID

-G GID 修改使用者的附加組;此選項與-a一起使用來追加方式修改附加組

-c 'COMMENT'

-d /path/to/home

-m選項可保證建立家目錄,并将使用者原有的檔案移動至新的家目錄中

-s SHELL

-l LOGIN_NAME 修改登入名

-L lock 鎖定

-U unlock 解鎖

userdel - 删除使用者賬号,并且删除相關檔案

userdel [options]

-f,--force 強制删除使用者,甚至使用者已經登陸。并且強制删除使用者home,mail,spool

-r, --remove 删除使用者,home,mail,spool. 位于其他檔案系統的檔案不會被删除

passwd - 更新使用者的授權密碼的工具

--stdin: 從标準輸入讀取密碼(從管道)

-l: lock 鎖定密碼(root only)

-u: unlock 解鎖密碼(root only)

====================================================================================================

使用者組管理

groupadd - 建立新組

groupadd [options] group

-g: GID 指定GID

-r: 系統組

groupdel - 删除組

groupdel group

groupmod - 修改系統中的組定義

groupmod [options] group

-g: GID: 修改為指定的GID

-n:修改為新的組名

gpasswd - 管理 /etc/group 和 /etc/gshadow

-a, --add 添加使用者到該組

-d, --delete 從該組中删除使用者

-A, --administrators 設定該組的管理者

-M, --members 設定該組的成員

newgrp - 在目前登陸的session中更改GID, 如果使用了[-] 則登陸的使用者的環境将重新初始化, 如果沒用[-] 則不會改變目前環境變量,家目錄等。

如果沒有給定組名,将嘗試登陸該使用者的預設組

newgrp相當于login指定,當他是以相同的賬号,另一個組的名字,再次登入系統。

若使用newgrp切換GID,使用者必須是該組的使用者(root使用者除外),或者知道該組密碼。

newgrp [-] [group]

===========================================================================================================

使用者,使用者組的管理小工具

chage - 更改使用者密碼過期資訊

-d, --lastday 最後一次更改的日期天數,從1970年1月1日開始計算

-E, --expiredate 更改使用者密碼過期的日期天數,從1970年1月1日開始計算

也可以使用 YYYY-MM-DD 格式來設定

-I, --inactive

-l, --list 檢視賬戶的aging information

-m, --mindays 從更改密碼當時開始,設定最小有效天數

-M, --maxdays 設定最大有效密碼天數

-W, --warndays 設定需要更改密碼之前的警告天數

chsh - 更改使用者shell

chfn - 修改使用者的finger information

who - 顯示登陸的使用者資訊

id - 檢視使用者資訊

id USERNAME

-g

-G

-n

-u

finger - 使用者資訊檢視

su - 切換使用者:

su [option] USERNAME

-l: 完全切換, l可省略

-c: 'COMMAND': 僅以指定使用者運作指令,并取回結果

w - 檢視登陸的使用者,而且可以檢視他們正在做什麼

w - [husfV] [user]

-h 不列印标題

-u 檢視目前程序和cpu用時的資訊時候,忽略使用者名 

-s 短模式,不列印login tim, JCPU or PCPU times

-f 

-V 顯示版本資訊