#### 用戶密碼文件
- /etc/shadow存儲密碼加密后的密文,又稱為“影子文件”,該文件為了保證了賬戶密碼的安全性只有 root 賬戶擁有讀權限,注意:若該文件權限發生變化,需要留心惡意攻擊
```bash
[root@server ~]# ll ?/etc/shadow
----------. 1 root root 1130 ?4月 26 14:39 /etc/shadow
[root@server ~]# head ?-1 /etc/shadow
root:$6$u6dOBCaz335byzFq$WcZK5t3EAHzCxy0AP8rscP/CrM/SZLzZZDCzkE2T6yiVpnSz92iWt/wd4jL9oBfFglbVrdhsUmRCVfWKTqNdv/::0:99999:7:::
```
- /etc/shadow文件中的每行9個字段的含義為:
```bash
登錄名:加密口令:最后一次修改時間:最小時間間隔:最大時間間隔:警告時間:不活動時間:失效時間:標志
```
#### 工作組賬號文件
- /etc/group文件存儲每個組工作組信息
```bash
[root@server ~]# ll ?/etc/group
-rw-r--r--. 1 root root 810 ?4月 26 14:39 /etc/group
[root@server ~]# head -1 /etc/group
root:x:0:
```
- 字段說明: ??
| **字段** ?| **說明**? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
| Groupname | 組的名字? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
| Passwd ???| 組的加密口令? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
| GID ??????| 是系統區分不同組的ID,在/etc/passwd域中的GID字段是用這個數來指定賬戶的基本組 |
| Userlist ?| 是用“,”分開的賬戶名,列出的成員以該組為附加組? ? ? ? ? ? ? ?
## 用戶管理
### 添加新用戶
#### 格式
```bash
useradd ??-參數 ?賬戶名
```
#### 參數
```bash
-c 注釋信息:設置相關的說明信息,如,:真實姓名、郵箱地址等。
-d:目錄:設定賬戶的家目錄(默認為/home/用戶名)。
-e YYYY-MM-DD:設置用戶的失效日期,此日期后將不能使用該賬號。
-f 天數:指定密碼到期后多少天賬號被禁用,若指定為0,則表示賬號到期后被立即禁用;若指定 為-1,則表示賬號過期后不被禁用(即密碼永不過期)。
-g 組名或GID號:為賬戶指定所屬的基本組,該組在指定時必須已存在。
-G:組名或GID號列表:為賬戶指定所屬的擴展組,各組在指定時已存在,附加組可以有多個,組之間用“,”分隔。
-M:不創建賬戶家目錄。
-N:不創建與賬戶名同名的基本組。
-p:密碼:指定賬戶的登錄密碼。
-s shell名:指定賬戶登錄后使用的Shell,默認是bash。
-u 用戶號:設置賬號的UID,默認是已有賬戶的最大UID加1。如果同時有-o選項,則可以重復使用其他用戶的標識號。
```
#### 示例
- 例1:新建賬戶test1,查看對應配置文件和家目錄
```bash
[root@server ~]# useradd test1
[root@server ~]# tail ?-1 ?/etc/passwd
test1:x:1001:1001::/home/test1:/bin/bash
[root@server ~]# tail ?-1 ?/etc/shadow
test1:!!:19483:0:99999:7::: ??# 注意 :!!表示密碼尚未設置
[root@server ~]# ls ?-ld /home/test1
drwx------. 3 test1 test1 78 ?5月 ?6 13:55 /home/test1
[root@server ~]# ls ?-A /home/test1
.bash_logout ?.bash_profile ?.bashrc ?.mozilla
```
- 例2:新建賬戶test2,指定UID為2001、登錄Shell為/bin/bash,賬號永不過期
```bash
[root@server ~]# useradd ?-u ?2001 ?-s ?/bin/bash -e ?-1 ?test2
```
- 例3:新建用于訪問FTP的test3賬戶,禁止其登錄且不創建家目錄
```
[root@server ~]# useradd ?-M ?-s /sbin/nologin ?test3
```
- 例4:新建賬戶test4,UID=3001, 工作組=test1 , 家目錄=/test
```bash
[root@server ~]# useradd ?test4 ?-u ?3001 ?-g ?test1 ?-d ?/test
```