#一、用戶及3A機制
系統資源是有限的,必須要有多個資源配合,用戶應運而生,用戶組是一個邏輯容器,對用戶進行歸納和統一授權,
3A機制:3A機制組成系統中最底層的安全架構
- account 身份
- author 授權
- auth 認證
#二、用戶及用戶組在系統中的存在方式
- id <名稱> 必須要記錄到檔案當中用戶才能存在;
- 用戶就是
/etc/passwd中的一行字符; - 用戶組存在的方式就是
/etc/group檔案中的一行字符,
#三、用戶切換
1.用戶查看
- whoami
查看當前用戶
[root@foundation51 Desktop]# whoami
root
[westos@foundation51 ~]$ whoami
westos
- id
| id | 查看用戶id資訊 |
|---|---|
| -u | 查看用戶的用戶id |
| -g | 查看用戶主祖id |
| -G | 查看用戶所有組的id |
| -n | 顯示名稱 |
[root@foundation51 Desktop]# id
uid=0(root) gid=0(root) groups=0(root) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
[root@foundation51 Desktop]# id westos
uid=1000(westos) gid=1000(westos) groups=1000(westos)
[root@foundation51 Desktop]# id -u
0
[root@foundation51 Desktop]# id -g
0
[root@foundation51 Desktop]# id -G
0
[root@foundation51 Desktop]# id -un
root
[root@foundation51 Desktop]# id -gn
root
[root@foundation51 Desktop]# id -Gn
root
- 用戶id范圍:0-65535
- 0:linux超級用戶id
- 1-999:linux系統自用id
- 1000-65535:用戶級id
以上id設定規則都被記錄在/etc/login.defs
2.用戶切換
- su - username
- “-” 切換用戶環境
- root->commnuser 不需要密碼
commnuser->commnuser
commnuser->root 兩者需要密碼
注:在做用戶切換時當時用完畢用戶身份及時退出,不要在一個shell中反復執行su命令,字一個shell中反復執行su會導致環境錯亂,
#四、用戶所涉及到的系統組態檔
| ~ | ~ |
|---|---|
| /etc/passwd | 用戶身份資訊檔案 |
| /etc/group | 組身份資訊檔案 |
| /etc/skel/.* | 用戶環境組態檔模板 |
| /etc/shadow | 用戶認證資訊檔案 |
| /home/username | 用戶家目錄 |
| /var/spool/mail/username | 用戶郵箱檔案 |
#五、用戶和用戶組建立及洗掉
1.監控用戶建立的命令:
watch -n 1 "tail - n 4 /etc/passwd /etc/group ; echo @@@ ; ls -l /home "
2.useradd
| useradd username | 用戶建立 |
|---|---|
| -u id username | 建立id的用戶 |
| -g id username | 建立主組id的用戶 |
| -G id username | 建立附加組id的用戶 |
| -d dir username | 指定用戶家目錄 |
| -M username | 建立用戶時不建立家目錄 |
| -c word username | 指定用戶說明 |
| -s 指定用shell | 指定用shell |
3.userdel
userdel -r username
用戶洗掉,-r洗掉用戶的系統組態檔,
4.groupadd
groupadd -g groupname
指定組名稱建立組,
5.groupdel
groupdel groupname
組洗掉,
#六、用戶和用戶組的資訊管理
| usermod | 更改用戶資訊 |
|---|---|
| -l | 更改用戶名 |
| -u | 更改用戶id |
| -g | 更改主組id |
| -G | 更改用戶附加組 |
| -aG | 添加用戶附加組身份 |
| -c | 更改用戶說明 |
| -d | 更改家目錄指向 |
| -md | 更改家目錄指向同時更改家目錄名稱 |
| -s | 更改默認shell |
| -L | 凍結賬號 |
| -U | 解鎖賬號 |
| groupmod -g | 更改用戶組id |




#七、用戶認證資訊管理
/etc/shadow 檔案內容說明
- 按照順序依次為:
用戶名稱:用戶密碼的加密字符:用戶密碼最后一次被修改時間:密碼最短有效期:密碼最長有效期:密碼過期前警告期:賬號非活躍期:賬號到期時間:用戶自定義(未使用)
可用bash man 5 passwd查看
1.用戶名稱
查看密碼狀態:
passwd -S username
監測:
watch -n 1 "tail -n 4 /etc/shadow ;echo @@@ ; passwd -S username"

2.用戶加密字符
(1)更改密碼
passwd username
只有root用戶下可以執行:
echo **** | passwd --stdin username
(2)密碼洗掉
passwd -d username
(3)凍結/解鎖認證
passwd -l username
passwd -u username
3.密碼使用天數
從1970-1-1算起到今天的天數
修改默認使用時間為0:
passwd -e username
賬號必須修改密碼才能登錄系統:
chage -d 0 username
4.密碼最長有效期
40天內user必須更新密碼否則會被凍結:
passwd -X 40 username
chage -M 40 username

5.密碼最短有效期
user在一天內不能改密碼:
passwd -n 1 username
chage -m 1 username
6.密碼過期警告
賬號過期前警告時間:
passwd -w 2 username
chage -W 1 username
7.認證非活躍天數
賬號認證最大時間超過*后還能用多久:
passwd -i 2 username
chage -I 1 username
8.賬號認證到期時間
到2021-4-8這天賬號會被凍結:
chage -E ''2021-04-08" username
9.未啟用功能
#八、用戶權力下放
- 系統中普通用戶無法執行系統管理命令時,需要普通用戶執行系統管理動作,需要root用戶來進行授權,普通用戶授權方式
sudo
作用:可以使普通用戶使用指定的用戶身份運行命令
1.授權方式:
visudo
此命令作用是編輯/etc/sudoers并提供語法檢測
2.編輯
在檔案的100行左右編輯(代碼規范性)
格式為:
username hostname=(newusername) [NOPASSWD]/command /command
解釋為:
新用戶 在hostname主機=(用超級用戶身份) [免密]執行useradd==命令
舉例為:
westos westoslinux.westos.org=(root) NOPASSWD:/usr/sbin/useradd /usr/sbin/userdel

3.測驗:
su - westos
sudo useradd test
id test
exit
可以免密執行userdeld的命令:
sudo userdel -r tset
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/274144.html
標籤:其他
