1. 程式人生 > >Linux系統中管理用戶賬戶和組賬戶及其權限設置

Linux系統中管理用戶賬戶和組賬戶及其權限設置

系統 運維

用戶賬戶分為:超級用戶、系統用戶、普通用戶。

超級用戶:

用戶名:root ; UID:0;

系統用戶:

用戶名:由用戶自行設定; UID:1~499(Centos6及之前),1~999(Centos7);

普通用戶:

用戶名:由用戶自行設定; UID:500+(Centos6及之前),1000+(Centos7);


用戶配置文件:用戶解析庫、用戶認證庫。

用戶解析庫:/etc/passwd

用戶認證庫:/etc/shadow

/etc/passwd字段詳解:(字段間使用":"分隔)

root:x:0:0:root:/root:/bin/bash

第一字段:用戶名稱

第二字段:使用X做密碼占位符

第三字段:用戶UID

第四字段:用戶主要組的GID

第五字段:用戶主要組組名

第六字段:用戶家目錄

第七字段:用戶默認bash

/etc/shadow字段詳解:

root:$6$6kkn6aL6.uXXGiV9$Z1rLH/FLESIInB.V1TfCn9V/AhDlQMQIwOKwpxdk4h101tB6SdUv6USEIccF2XNcR.kpUuQE6x4HbSed24bNP.::0:99999:7:::

第一字段:用戶名稱

第二字段:經過加密的用戶密碼;主要由 加密算法+salt(鹽)+加密後的密碼 組成期間由"$"分隔;

第三字段:最後一次修改密碼的時間,其表示法為從1970年1月1日到當前系統時間所經過的天數;

第四字段:密碼的最短使用期限;0表示隨時可更改密碼;

第五字段:密碼的最長使用期限;

第六字段:密碼使用達到最大使用期限前多少天提示用戶;默認為7天;

第七字段:密碼過期後可更改密碼寬限期;

第八字段:用戶密碼的絕對失效時間;其表示法為從1970年1月1日到指定日期時間的天數; usermod -e 可修改;

第九字段:保留,並未使用;

用戶賬戶管理相關命令:
useradd -- 創建一個新用戶或更新默認新用戶信息

格式:useradd [options] USERNAME

常用選項:

-d, --home-dir HOME_DIR:指定新建用戶的家目錄;

-g, --gid GROUP:指定新建用戶的主要組;GROUP可使用組名或GID;如不使用此選項默認會創建同名組設置為主要組;

-G, --groups GROUPS:指定新建用戶的附加組;GROUP可使用組名或GID;

-r, --system :創建一個系統用戶;

userdel -- 刪除用戶賬戶和相關文件

格式:userdel [options] UESRNAME

常用選項:

-f, --force :強制刪除用戶,即使用戶正處於登陸狀態等情況;(不建議使用)

-r,--remove :用戶主目錄中的文件將隨用戶主目錄和用戶郵箱一起刪除。

usermod -- 修改一個用戶賬戶

格式:usermod [options] USERNAME

常用選項:

-d, --homeHOME_DIR:更改用戶的家目錄;(前提修改的目錄事先存在)

-c, --commentCOMMENT:修改用戶註釋信息;

-e expire-date:修改用戶密碼過期的絕對日期;

-l, --loginNEW_LOGIN:修改用戶的登陸名;
-s, --shellSHELL:修改用戶的登陸SHELL;
-u, --uidUID:修改用戶的UID;

-g, --gidGROUP:修改用戶主要組;

-G, --groupsGROUP1[,GROUP2,...[,GROUPN]]]:修改用戶附加組;可使用-aG為用戶追加附加組;

-L,--lock:鎖定用戶;

-U,--unlock:解鎖用戶;

passwd -- 更新用戶的身份驗證令牌

格式:passwd [options] USERNAME

常用選項:

-d, --delete :刪除用戶的密碼;(僅限 root 用戶)

-l, --lock :鎖定指名帳戶的密碼(僅限 root 用戶)
-u, --unlock解鎖指名賬戶的密碼(僅限 root 用戶)

--stdin : 從標準輸入讀取令牌(僅限 root 用戶)



組賬戶分為:超級用戶組、系統組、普通用戶組。

超級用戶組:

組名:root;GID:0;

系統用戶組:

組名:由用戶自行設定; GID:1~499(Centos6及之前),1~999(Centos7);

普通用戶組:

組名:由用戶自行設定; GID:500+(Centos6及之前),1000+(Centos7);


組賬戶配置文件:組賬戶認證庫,組賬戶解析庫。

組賬戶解析庫:/etc/group

組賬戶認證庫:/etc/gshadow

/etc/group字段詳解:

root:x:0

第一字段:組名

第二字段:密碼占位符;

第三字段:GID

第四字段:以該組為附加組的用戶;

/etc/gshadow字段詳解:

root:::

第一字段:組名;

第二字段:組賬戶加密保存的密碼;

第三字段:組賬戶管理員(已廢棄)

第四字段:以該組為附加組的用戶賬戶列表;


groupadd -- 創建一個新組

格式:groupadd [options] GROUPNAME

常用選項:

-g, --gid GID:指定該組的GID;

-r, --system:將新建的組設置為系統組;

groupdel -- 刪除一個組

格式:groupdel [options] GROUPNAME


groupmod -- 修改組賬戶信息

格式:groupmod [options] GROUPNAME

常用選項:
-g, --gid GID:修改GID

-n, --new-name NEW_GROUP:修改組名;


su -- 切換用戶身份

格式:su [options] USERNAME

常用選項:

-, -l, --login:切換登陸用戶及其shell,家目錄等一系列選項;

-c :使用某用戶身份執行某命令:(#] su root -c "usseradd god")

註意:su USERNAME 與 su -USERNAME 區別在於 前者只是切換了身份,但SHELL環境仍然是原用戶的SHELL;而後者連用戶和SHELL環境一起切換成新用戶的了。只有切換了SHELL環境才不會出現PATH環境變量錯誤。


id -- 顯示真實和有效的 UID 和 GID

格式:id [options] USERNAME

常用選項:

-u:顯示用戶有效UID
-g:顯示用戶有效GID
-n:顯示名稱


其他相關配置文件:
/etc/default/useradd
作用:定義創建用戶時的用戶屬性的默認值文件
GROUP=100 // 在創建用戶時如果沒有為用戶指定基本組,系統會為用戶指定一個與用戶名相同的組作為其基本組;
HOME=/home // 在創建用戶時,如果沒有為用戶指定家目錄,則會在/home目錄中創建一個於用戶名相同的目錄作為家目錄
INACTIVE=-1 // 在創建用戶時,設定用戶密碼過期之後的寬限期,默認為-1,意為關閉用戶密碼過期寬限功能,即寬限期為永遠;
EXPIRE= // 在創建用戶時,設定用戶密碼的絕對失效日期,默認沒有啟用;
SHELL=/bin/bash // 在創建用戶時,設定用戶的默認登陸shell,默認值為/bin/bash
SKEL=/etc/skel // 在創建用戶時,為用戶家目錄提供的默認文件的模板
CREATE_MAIL_SPOOL=yes // 在創建用戶是,是否直接為用戶創建郵箱文件,默認創建;


/etc/login.defs(definations)
作用:定義shadow_utils相關的屬性,包括用戶郵箱路徑、密碼的時間參數、UID和GID的範圍,刪除用戶賬戶的命令、是否設置私有組(僅包含一個用戶並作為該 用戶主要組)、權限位掩碼、家目錄創建開關、加密算法選擇;
MATL_DIR /var/spool/mail
//指定創建用戶時為用戶指定郵箱文件的路徑
PASS_MAX_DAYS 99999
PASS_MIN_DAYS 0
PASS_MIN_LEN 5
PASS_WARN_AGE 7
//與密碼的時間參數有關的設置
UID_MIN 1000
UID_MAX 60000
# System accounts
SYS_UID_MIN 201
SYS_UID_MAX 999
GID_MIN 1000
GID_MAX 60000
# System accounts
SYS_GID_MIN 201
SYS_GID_MAX 999
//指定默認的ID選擇範圍
CREATE_HOME yes
//是否在創建用戶時為用戶創建家目錄的開關
UMASK 077
//指定用戶家目錄的默認權限的掩碼
USERGROUPS_ENAB yes
//是否開啟私有組開關
ENCRYPT_METHOD SHA512
//加密算法的選擇


/etc/skel(directory)
作用:為新創建的用戶的家目錄提供默認的shell配置文件



Linux系統中管理用戶賬戶和組賬戶及其權限設置