1.用戶及組的概念
(1)查看當前用戶的信息 # id 查看當前用戶:whoami
(2)查看運行進程的username : # ps aux
(3)用戶組信息存儲的文件
1. ls /etc/passwd (7列)
用戶名:x:uid:gid:描述:HOME:shell
x-> 密碼 shell --->/bin/bash
2. /etc/shadow (8列)
3. /etc/group root:x:0: ---> 組名:密碼:組ID:默認用戶本身
2.用戶/組管理
(1)用戶
1.創建用戶 useradd user01
2.創建用戶(指定選項)
創建用戶並指定shell : #useradd user01 -s /sbin/nologin
創建用戶並指定該用戶的主目錄爲/home/test: #useradd user01 -d /home/test
創建用戶,指定附加組爲hr,it,fd : # useradd user07 -G hr,it,fd
3.刪除用戶
userdel -r user01 --->刪除用戶user01,同時刪除用戶家目錄和/var/spool/mail
4.用戶密碼
root修改其他用戶密碼 #passwd user01
用戶自己登陸自己修改密碼: $ passwd
5.其它選項管理 更改時用usermod
#usermod -s /sbin/nologin user01 --->修改user01的登錄shell
6.查看已經建立的用戶
#cat /etc/passwd
(2)組
1.創建組 hr
#groupadd hr 查看 # grep hr /etc/group
2.創建一個組net01 並指定組ID爲2000
# groupadd net01 -g 2000
3.刪除net01這個組
#groupdel net01
4.修改組的組id
# groupmod -g 1003 net01 修改net01組的組id爲1003
5.組的分類
基本組 -g #id + 組名
附加組 -G #cat /etc/group 查看附加組(用戶加入的其他的組)
例題
1.#usermod -g CCC user01 把用戶user01的基本組改爲CCC
2.#usermod -G CCC user01 把用戶user01的附加組改爲CCC
(-G每次更改用戶的附加組會對附加組進行覆蓋,更改後用戶就不在屬於以前的附件組,針對組來說的)
(再用#usermod -G CCC user02 這樣會一個附加組有兩個用戶)
3.增加新的附加組而且不覆蓋 #usermod -aG DDD user01-->這樣用戶user01就擁有CCC和DDD兩個附加組
4.# usermod -G AAA,BBB user02 --->一次爲user02添加兩個附加組(一個用戶有兩個附加組)
特例
1.使一個用戶擁有多個附加組的命令
(1)#usermod -G CCC user01
#usermod -aG DDD user01
(2)# usermod -G AAA,BBB user02
(3)# gpasswd -a user02 AAA ----->把用戶user02加入到AAA組中
(注意:gpasswd -a + 用戶 + 組名 而 usermod -G + 組名+用戶)
2.gpasswd的其他用法(對組中的用戶進行添加刪除和替換)
(1)替換某個組的所有成員
gpasswd -M +用戶 + 組名
(2)刪除某個組的某個成員
gpasswd -d +用戶 + 組名
3.提權
(1)永久提權 su - root
[alice@tianyun ~]$ useradd u1
-bash: /usr/sbin/useradd: 權限不夠
[alice@tianyun ~]$ su - root
password:
[root@tianyun ~]# useradd u1
成功
(2)臨時提權sudo
# vim /etc/sudoers
--->編輯 %wheel ALL=(ALL) NOPASSWD:ALL
#usermod -G wheel user01
---> 切換user01
$ sudo useradd user02 ---->user02獲得root權限可以新建用戶
4.擴展
(1) /etc/default/useradd 是設置添加用戶的規則如路徑
/etc/login.defs 是設置用戶賬號密碼限制的文件
(2) 創建用戶 #useradd user05
免會話配置密碼 #echo 123456 | passwd --stdin user05 (把123456設置爲user05用戶的密碼)
強制用戶下次登錄時修改密碼 #chage -d 0 user05