用戶與安全 -(1)Linux用戶及組管理
前言
Linux 是多用戶多任務操作系統(tǒng),換句話說,Linux 系統(tǒng)支持多個用戶在同一時間內(nèi)登陸,不同用戶可以執(zhí)行不同的任務,并且互不影響。而用戶和用戶組管理,顧名思義就是添加用戶和用戶組、更改密碼和設定權(quán)限等操作。
用戶和組的概念
Linux 系統(tǒng)對用戶與組的管理是通過ID號來實現(xiàn)的。我們在登錄系統(tǒng)時,輸入用戶名與對應密碼,操作系統(tǒng)會將用戶名轉(zhuǎn)化為ID號后再判斷該用戶是否存在,并對比密碼是否匹配。
Linux 中,用戶ID號被稱為UID,組ID號被稱為GID。其中,UID為0,代表超級管理員,也就是通常所說的root用戶。Linux用戶總共分為三種,分別如下:
root用戶(ID 0)
系統(tǒng)用戶(ID 1~499)
普通用戶(ID 500-60000)
Linux 操作系統(tǒng)中的組分為基本組與附件組,一個用戶僅可以加入一個基本組中,但可以同時加入多個附加組。默認在創(chuàng)建用戶時,系統(tǒng)默認會自動創(chuàng)建同名的組,并設置用戶加入該基本組中。
Linux用戶管理
01 創(chuàng)建用戶
用法:useradd [選項] 用戶名稱
常用選項:
-c 設置用戶描述信息,一般為用戶全程
-d 設置用戶家目錄,默認為/home/用戶名
-e 設置用戶失效日期,格式為YYYY-MM-DD
-g 設置用戶的基本組
-G 設置用戶的附件組,多個附件組中間用逗號隔開
-M 不創(chuàng)建用戶家目錄,一般與-s結(jié)合使用
-s 設置賬號登錄shell,默認為bash
-u 指定用戶UID
示例:
[root@qll ~]# useradd -s /sbin/nologin -M user01
# 創(chuàng)建用戶user01,限制該用戶無法登陸系統(tǒng)且沒有家目錄
[root@qll ~]# useradd -c administrator -d /home/admin -e 2020-03-11 -g root -G mail,bin admin
# 創(chuàng)建一個名為admin的賬號,描述是administrator,賬號家目錄為/home/admin,賬號失效時間為2021年2月25號,賬號基本組為root,附件組為mail、bin
02 設置用戶屬性
用法:usermod [選項] 用戶名稱
常用選項:
-d 修改用戶家目錄
-e 修改用戶失效日期
-g 修改用戶所屬基本組
-G 修改用戶所屬附件組
-s 修改用戶登錄shell
-u 修改用戶UID
示例:
[root@qll ~]# usermod -d /home/nginx nginx01
# 修改nginx01家目錄為/home/nginx
[root@qll ~]# usermod -u 1005 admin
# 修改admin用戶的UID為1005
[root@qll ~]# usermoud -s /sbin/nologin admin
# 限制admin用戶無法登陸系統(tǒng)
03 修改用戶屬性
用法:passwd [選項] [用戶名稱]
常用選項:
-l 鎖定賬號,僅root用戶可使用此選項
--stdin 從文件或管道讀取密碼
-u 解鎖密碼
-d 快速清空賬號密碼,僅root用戶可使用此選項
示例:
[root@qll ~]# echo "abc123" | passwd --stdin admin
# 無交互式創(chuàng)建admin賬號的密碼為adc123
[root@qll ~]# passwd -l admin
# 鎖定admin賬號
04 刪除用戶
用法:userdel [-r] 用戶名
常用選項:
-f:強制刪除用戶,即使用戶當前已登錄
-r:在刪除用戶的同時刪除用戶的家目錄
示例:
[root@qll ~]# userdel -r admin
# 刪除admin用戶,同時刪除admin的家目錄文件。
Linux用戶組管理
01 創(chuàng)建用戶組
用法:groupadd [選項] 用戶組名稱
常用選項:
-g 設置組ID
[root@qll ~]# groupadd -g 1008 test01
# 創(chuàng)建用戶組test01,同時指定GID為1008
02 修改用戶組屬性
(1) 用戶組重命名:
groupmod -n 新用戶組名 原用戶組名
[root@qll ~]# groupmod -n new_test test01
# 將用戶組test01重命名為new_test
(2) 重設用戶組的 GID:
groupmod -g new-group_GID 用戶組名稱
[root@qll ~]# groupmod -g 1002 new_test
# 將用戶組new_test的GID修改為1002
03 刪除用戶組
語法:groupdel 用戶組名
[root@qll ~]# groupdel new_test
# 刪除組new_test
04 添加用戶到指定組
語法:gpasswd -a 用戶賬戶 用戶組名
[root@qll ~]# gpasswd -a test_user admin
# 將test_user用戶添加至admin用戶組
05 從用戶組中移除某用戶:
語法:gpasswd -d 用戶賬戶 用戶組名
[root@qll ~]# gpasswd -d test_user admin
# 將admin用戶組中的test_user用戶移除
06 將用戶指派為用戶組管理員
語法:gpasswd -A 用戶賬戶 用戶組名
[root@qll ~]# gpasswd -A test_user admin
# 將test_user用戶設置為admin用戶組管理員
總結(jié):查看用戶的常用方法
(1) id命令
描述:查詢指定用戶的用戶和組信息。
用法:id [選項]... [用戶名]
說明:如果省略用戶名,打印打印當前用戶的用戶和組信息。
[root@qll ~]# id test_user
uid=1000(test_user) gid=1000(test_user) 組=1000(test_user)
[root@qll ~]# id
uid=0(root) gid=0(root) 組=0(root)
(2) who命令
描述:查詢當前登錄的所有用戶信息
[root@qll ~]# who
root tty1 2021-02-19 21:45
root pts/0 2021-02-19 23:40 (10.47.12.7)
test_user pts/1 2021-03-05 23:52 (10.47.12.18)
(3) whoami命令
描述:查詢當前登錄用戶的名稱
[root@qll ~]# whoami
root
(4) last命令
描述:查詢目前與過去登錄系統(tǒng)的用戶相關(guān)信息
說明:該命令默認讀取/var/log/wtmp文件,數(shù)據(jù)直接查看是亂碼,防止人為修改。
(5) lastb命令
描述:查詢登入系統(tǒng)失敗的用戶相關(guān)信息。
說明:該命令默認讀取/var/log/btmp文件,數(shù)據(jù)直接查看是亂碼,防止人為修改。

(6) lastlog命令
描述:查詢系統(tǒng)中所有用戶最近一次登錄信息。
說明:該命令默認讀取/var/log/lastlog文件,數(shù)據(jù)直接查看是亂碼,防止人為修改。
(7) last reboot命令
描述:查看系統(tǒng)重啟記錄

關(guān)注「開源Linux」加星標,提升IT技能
評論
圖片
表情



