1、useradd命令
useradd - create a new user or update default new user information(創建一個新用戶或更新默認新用戶信息 )
useradd [選項] 登錄
useradd -D
useradd -D [選項]
選 項 | 作 用 |
---|---|
-u 或 --uid | 指定用戶ID |
-g 或 --gid | 指定用戶所屬基本組,此組必須事先存在 |
-G 或 --groups | 指定用戶所屬的附加組,多個組之間用逗號分隔 |
-c 或 --comment | 指定註釋信息,會保存在 /etc/passwd 的備註欄位中 |
-d 或 --home | 指定用戶的家目錄,通過複製 /etc/skel 目錄並重命名實現 |
-s 或 --shell | 指定用戶的默認shell,所有可用的shell列表存儲在 /etc/shells 中 |
-r 或 --system | 創建系統用戶 |
-d | 顯示創建用戶的默認配置 |
-d 選項 | 修改默認選項的值(修改結果保存於 /etc/dafault/useradd 文件中) |
① 創建用戶gentoo,UID爲4001,基本組爲gentoo,附加組爲distro(GID爲5000)和peguin(GID爲5001);
[root@localhost ~]# groupadd -g 5000 distro \\創建用戶組 distro
[root@localhost ~]# groupadd -g 5001 peguin \\創建用戶組 peguin
[root@localhost ~]# useradd -u 4001 -G distro,peguin gentoo
② 創建用戶fedora,其註釋信息爲"Fedora Core",默認shell爲/bin/tcsh;
[root@localhost ~]# useradd -c "Fedora Core" -s /bin/tcsh fedora
2、usermod命令
usermod - modify a user account(修改一個用戶賬戶)
usermod [選項] 登錄
選 項 | 作 用 |
---|---|
-u 或 --uid | 修改用戶ID |
-g 或 --gid | 修改用戶所屬的基本組 |
-G 或 --groups | 修改用戶所屬的附加組,原來的附加組會被覆蓋 |
-a | 追加用戶所屬的附加組 |
-c 或 --comment | 修改註釋信息 |
-d 或 --home | 修改用戶的家目錄,用戶原有的文件不會被轉移至新位置 |
-m 或 --move-home | 與 -d 選項一同使用,將原來的家目錄移動到新位置並根據需要改名 |
-s 或 --shell | 修改用戶的默認shell |
-l | 修改用戶名 |
-L 或 --lock | 鎖定用戶密碼,在 /etc/shadow 中的密碼字符串之前會添加一個" ! " |
-U 或 --unlock | 解鎖用戶密碼 |
① 修改gentoo用戶的家目錄爲/var/tmp/gentoo;要求其原有文件仍能被用戶訪問;
[root@localhost ~]# usermod -md /var/tmp/gentoo gentoo
② 爲gentoo新增附加組netadmin;
[root@localhost ~]# groupadd netadmin //創建用戶組 netadmin
[root@localhost ~]# usermod -aG netadmin gentoo
3、userdel命令
userdel - delete a user account and related files(刪除用戶賬戶和相關文件)
userdel [選項] 登錄
選 項 | 作 用 |
---|---|
-r | 刪除用戶時一併刪除其家目錄 |
刪除用戶fedora,同時刪除用戶家目錄和mail spool;
[root@localhost ~]# userdel -r fedora
4、groupadd命令
groupadd - create a new group(創建一個新組)
groupadd [選項] 組
選 項 | 作 用 |
---|---|
-g | 指定組ID |
-r | 創建系統組 |
創建一個新組tom,GID爲5003;
[root@localhost ~]# groupadd -g 5003 tom
5、groupmod命令
groupmod - modify a group definition on the system(修改系統上的組屬性)
groupmod [選項] 組
選 項 | 作 用 |
---|---|
-g | 修改組ID |
-n | 修改組名 |
修改tom組的GID爲5004,組名爲jerry;
[root@localhost ~]# groupmod -g 5004 -n jerry tom
6、groupdel命令
groupdel - delete a group(刪除一個組)
groupdel [選項] 組
並沒有什麼常用選項哦!
刪除tom組;
[root@localhost ~]# groupdel jerry
7、passwd命令
passwd - update user’s authentication tokens(更新用戶的身份驗證令牌)
passwd [-k] [-l] [-u [-f]] [-d] [-e] [-n 最小天數] [-x 最大天數] [-w 警告日期] [-i 非活動日期] [-S] [–stdin] [用戶名]
① passwd :修改用戶自己密碼;
② passwd USERNAME:修改指定用戶密碼,僅root有此權限。
選 項 | 作 用 |
---|---|
-l | 停止賬號使用 |
-u | 啓用已被停止的賬戶 |
-d | 刪除用戶密碼 |
-S | 顯示密碼信息 |
-e DATE | 設置密碼過期日期 |
-n DAYS | 密碼的最短使用期限 |
-x DAYS | 密碼最長使用期限 |
-w DAYS | 警告期限 |
–stdin | 非交互式創建密碼(echo “password” | passwd --stdin USERNAME) |
① 修改gentoo用戶密碼;
[root@localhost ~]# passwd gentoo
更改用戶 gentoo 的密碼 。
新的 密碼:
重新輸入新的 密碼:
passwd:所有的身份驗證令牌已經成功更新。
② 顯示gentoo用戶密碼信息;
[root@localhost ~]# passwd -S gentoo
gentoo PS 2020-03-09 0 99999 7 -1 (密碼已設置,使用 SHA512 算法。)
8、gpasswd命令
gpasswd - administer /etc/group and /etc/gshadow(管理 /etc/group 和 /etc/gshadow,用於將一個用戶添加到組或者從組中刪除)
gpasswd [選項] 組
選 項 | 作 用 |
---|---|
-a USERNAME | 添加用戶到組 |
-d USERNAME | 從組刪除用戶 |
添加用戶gentoo到tom組中;
[root@localhost ~]# gpasswd -a gentoo tom
正在將用戶“gentoo”加入到“tom”組中
9、newgrp命令
newgrp - log in to a new group(登錄到一個新組)
newgrp [-] [組]
-:會模擬用戶重新登陸以實現重新初始化其工作環境;
沒有選項哦!
登入到tom組;
[root@localhost ~]# newgrp - tom
10、chage命令
chage - change user password expiry information(更改用戶密碼過期信息)
chage [選項] 登錄
選 項 | 作 用 |
---|---|
-d | 指定密碼最後修改日期 |
-E | 密碼到期的日期。過了這天,此賬號可不用,0表示馬上過期,-1表示永不過期 |
-w | 密碼過期前,提前收到警告信息的天數 |
-m | 密碼可以更改的最小天數。0表示任何時候都可以更改密碼 |
-M | 密碼保持有效的最大天數 |
-l | 列出當前密碼設置信息 |
查看root賬戶的密碼設置信息;
[root@localhost ~]# chage -l root
最近一次密碼修改時間 :從不
密碼過期時間 :從不
密碼失效時間 :從不
帳戶過期時間 :從不
兩次改變密碼之間相距的最小天數 :0
兩次改變密碼之間相距的最大天數 :99999
在密碼過期之前警告的天數 :7
11、id命令
id - print real and effective user and group IDs(打印真實有效的用戶和組ID)
id [選項]… [用戶]
選 項 | 作 用 |
---|---|
-u | 僅顯示有效的UID |
-g | 僅顯示有效的基本組ID |
-G | 僅顯示用戶所屬的所有組ID |
-n | 顯示名字而非ID |
①顯示當前用戶信息;
[root@localhost ~]# id
uid=0(root) gid=0(root) 組=0(root),5003(tom) 環境=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
②顯示當前用戶所有組羣的名字;
[root@localhost ~]# id -Gn
12、解析庫文件
①/etc/passwd
[root@localhost ~]# cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
...
/etc/passwd中存儲了系統中所有用戶的基本信息,文件中一行記錄對應着一個用戶,每行記錄被冒號(:)分隔爲7個字段,每個字段含義如下:
用戶名(login_name):
==口令(password):
用戶標識號(UID):
組標識號(GID):
註釋性描述:
家目錄(home_directory):
默認的Shell(Shell)
②/etc/shadow
[root@localhost ~]# cat /etc/shadow
root:`$`6`$`p1mwb6gitnqDNZy.`$`ctaFX4wA5HxU49bBjWXpJSznbhkJL8KVwmaO8ZJ6VarPemT.VlKkqN44onx4CrWkCMruDZ3jIm9kywoWGtCNa/::0:99999:7:::
bin:*:17834:0:99999:7:::
...
/etc/shadow中存儲着用戶的密碼信息,文件中一行記錄對應着一個用戶,每行記錄被冒號(:)分隔爲9個字段,每個字段含義如下:
用戶名(login_name):
加密密碼(以"$"爲分隔符,第一個字段表示加密算法;第二個字段表示加密因子;第三個字段纔是用戶加密後的密碼):
最後一次修改時間:
最小修改時間間隔:
密碼有效期:
警告時間:
密碼過期後的寬限天數:
失效時間:
保留(目前未使用)==
③/etc/group
[root@localhost ~]# cat /etc/group
root:x:0:
bin:x:1:
...
/etc/shadow中存儲着用戶組的所有信息,文件中一行記錄對應着一個用戶組,每行記錄被冒號(:)分隔爲4個字段,每個字段含義如下:
組名(group_name):
組密碼(password):
組標識號(GID):
組中的用戶(users)