歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> CentOS下的賬戶管理

CentOS下的賬戶管理

日期:2017/2/27 16:00:54   编辑:Linux教程

在Linux中,每個文件都分3類權限:賬戶本身的權限,賬戶所在群組的權限和其它權限。賬戶和群組是多對多的關系,即一個賬戶可以屬於多個群組,一個群組可以包含多個賬戶。但是,對於每一個已登錄的賬戶,只能存在一個當前生效的群組(初始群組)。
賬戶管理相關配置文件如下:賬戶信息文件是/etc/passwd、賬戶密碼文件是/etc/shadow、群組信息文件是/etc/group、群組密碼文件是/etc/gshadow。

1、/etc/passwd文件怎麼看

如上圖,/etc/passwd文件中每一行為一個賬戶,以冒號作為分割的每個字段意思按序號分別如下:
[1] 賬戶名。改名使用命令usermod -l
[2] 密碼,該字段已啟用。賬戶密碼在/etc/shadow文件配置
[3] UID,賬戶的唯一標識。影響該字段值的命令包括:useradd -u、usermod -u
[4] GID,初始群組的唯一標識,關聯/etc/group文件的第3個字段。該群組為賬戶默認的有效群組(有效群組可以使用newgrp命令進行切換)。影響該字段值的命令包括:useradd -g、usermod -g
[5] 描述。影響該字段值的命令包括:useradd -c、usermod -c
[6] 家目錄絕對路徑。影響該字段值的命令包括:useradd -d、usermod -d
[7] shell,賬戶默認啟用的shell,當為/sbin/nologin時賬戶無法登錄。賬戶能使用的shell可以用命令chsh -l查詢(查詢結果為/etc/shells文件的內容)。影響該字段值的命令包括:useradd -s、usermod -s

2、/etc/shadow文件怎麼看

如上圖,文件/etc/shadow的每一行對應一個賬戶的密碼信息,以冒號作為分割的每個字段意思按序號分別如下:
[1] 賬戶名,關聯/etc/passwd文件的第1個字段
[2] 密碼,加密後的密文,加密算法由/etc/login.defs文件中的ENCRYPT_METHOD指定,此處為SHA512。影響該字段值的命令包 括:usermod -L(前置!!凍結)、usermod -U(解凍)、passwd -l(凍結)、passwd -u(解凍)、
[3] 創建日期,上圖顯示的是一個數字,該數字表示自1970-01-01以來所經歷的天數。影響該字段值的命令包括:chage -d
[4] 密碼創建之後需經歷多少天才能再次修改,0表示無此限制。影響該字段值的命令包括:passwd -n、chage -m
[5] 密碼創建多少天之後就過期,99999天約等於99999/365年,好幾百年意味著密碼不會過期。影響該字段值的命令包括:passwd -x、chage -M
[6] 密碼過期前多少天開始向用戶發送警告信息。影響該字段值的命令包括:passwd -w、chage -W
[7] 密碼過期後還能寬限多少天,在此時間段內用戶還可以登錄和修改密碼,過了這個時間段用戶就不能夠登錄了。影響該字段值的命令包括:useradd -f、usermod -f、passwd -i、chage -I
[8] 失效日期,一個數字,該數字表示自1970-01-01以來所經歷的天數。過了這一天用戶的密碼就失效,無論是否過期均不可再登錄。影響該字段值的命令包括:useradd -e、usermod -e、chage -E
[9] 保留

3、/etc/group文件怎麼看

如上圖,文件/etc/group的每一行對應一個群組,以冒號作為分割的每個字段意思按序號分別如下:
[1] 群組名。改名使用命令:groupmod -n
[2] 密碼,已啟用,群組密碼在/etc/gshadow文件中配置
[3] GID,群組唯一標識,由/etc/passwd文件中的第4個字段關聯,作為對應賬戶的初始群組。影響該字段值的命令包括:groupadd -g、groupmod -g
[4] 帳號名列表,以逗號隔開。這些帳號可以主動切換為該群組的成員,如上圖用戶mophee(初始群組為mophee)可使用newgrp命令將其生效群組切換為mysql或mail。影響該字段值的命令包括:useradd -G、usermod -[a]G

4、/etc/gshadow文件怎麼看

如上圖,文件/etc/gshadow中的每一行對應一個群組的密碼信息,以冒號作為分割後的每個字段意思按序號分別如下:
[1] 群組名,與/etc/group中的群組名對應
[2] 密碼,加密後的密文,使用命令gpasswd group_name可設置群組密碼,使用gpasswd -r group_name刪除密碼
[3] 群組管理員,使用命令gpasswd -A user1,... group_name 可設置群組的管理員。注:群組管理員可以為群組成員設置密碼
[4] 群組成員,該字段與/etc/group的第4個字段相同且同步更改,除了使用useradd -G、usermod -G命令維護外,還可使用gpasswd -[adM]進行維護。影響該字段值的命令包括:useradd -G、usermod -[a]G

-----------------------------------------------

理論上,修改以上4個配置文件就可以進行賬戶管理,但不建議這樣進行賬戶管理。Linux提供足夠的命令對賬戶進行管理,雖然這些命令實質上也是修改這4個文件的內容,但建議使用這些命令:

useradd:添加賬戶

useradd mophee #建立群組mophee,建立賬戶mophee,建立家目錄/home/mophee且權限為700。無密碼,無法登錄。
useradd -u 519 -g users mophee2 #建立賬目mophee2並指定UID為519,指定初始群組為users
useradd -r mophee3 #建立系統帳號mophee3,UID和GID范圍:100~499,無家目錄

usermod:修改賬戶
userdel:刪除賬戶

userdel mophee #刪除賬戶mophee:
#1、從/etc/passwd和/etc/shadow刪除;
#2、從/etc/group和/etc/gshadow的最後一個字段除移;
#3、若其初始群組無其它成員賬戶,則刪除群組
userdel -r mophee #除了刪除賬戶外,還刪除其家目錄和郵件目錄

passwd:賬戶密碼管理
passwd -S mophee #列出帳號mophee相關的密碼信息

chage:修改賬戶密碼,一般用戶可用此命令修改自己的密碼

chage -l mophee #列出帳號mophee相關的密碼信息

groupadd:添加群組
groupmod:修改群組
groupdel:刪除群組
gpasswd:群組密碼、群組管理員和成員管理
groups:查看所屬群組

groups mophee #列出帳號mophee所屬的群組

newgrp:切換有效群組

----------------------------------------------

與賬戶管理有關的其它配置文件:/etc/login.defs、/etc/default/useradd(使用命令useradd時的一些默認值)。

1、文件/etc/default/useradd怎麼看

GROUP:預設的群組ID
HOME:家目錄的基准目錄,添加賬戶且創建其家目錄等同於在該基准目錄下新建一個與賬戶名同名的目錄,影響/etc/passwd的第6個字段
INACTIVE:設置密碼過期後是否失效,-1表示不會失效,影響/etc/shadow的第7個字段
EXPIRE:密碼失效日期,影響/etc/shadow的第8個字段
SHELL:默認的shell,影響/etc/passwd的第7個字段
SKEL:創建家目錄是參考的初始內容,即創建家目錄時會將該目錄下的內容復制一份到家目錄中
CREATE_MAIL_SPOOL:是否創建對應的mailbox目錄,yes/no,yes時會在/var/spool/mail/目錄下創建與帳號名同名的目錄用於存儲該賬戶的郵件

2、文件/etc/login.defs怎麼看
MAIL_DIR:郵件目錄的基准目錄,一般為/var/spool/mail
PASS_MAX_DAYS:自密碼創建之日起到過期的天數,影響/etc/shadow的第5個字段
PASS_MIN_DAYS:密碼創建之後不允許更改的天數,影響/etc/shadow的第4個字段
PASS_MIN_LEN:設置密碼允許的最短長度,已啟用,由pam模塊取代該功能
PASS_WARN_AGE:密碼過期之前開始發送警告信息的天數,影響/etc/shadow的第6個字段
UID_MIN:小於該數字值的UID均為系統帳號,默認設為500。使用useradd且未添加-r選項時添加的賬戶UID均大於此值
UID_MAX:系統支持最大的UID值
GID_MIN:與UID_MIN功能類似,影響的是GID
GID_MAX:與UID_MAX功能類似,影響的是GID
CREATE_HOME:默認是否創建家目錄,yes/no
UMASK:家目錄默認權限的反碼,即該值為077時,家目錄的權限為700
USERGROUPS_ENAB:設置在使用userdel命令刪除賬戶時,如果其初始群組下沒有其它成員賬戶,是否將群組也刪除。yes/no
ENCRYPT_METHOD:加密算法,如SHA512

Copyright © Linux教程網 All Rights Reserved