1.常用配置文件
用戶信息文件: /etc/password
密碼文件: /etc/shadow
用戶組文件: /etc/group
用戶組密碼文件:/etc/gshadow
1.1 /etc/password文件
vim /etc/password
fubh:x:1020:1000::/home/fubh:/bin/bash
man 5 password #查看配置文件幫助
(密碼文件)里每行一條記錄,并且每行有這樣的格式:
account:password:UID:GID:GECOS:directory:shell
(帳號:密碼:用戶ID:組ID:一般的信息:宿主目錄:shell)
字段描述如下:
account 使用者在系統(tǒng)中的名字,它不能包含大寫字母. password 加密的用戶密碼,或者星號。 UID 用戶 ID 數(shù)。 GID 用戶的主要組 ID 數(shù)。 GECOS 這字段是可選的,通常為了存放信息目的而設(shè)的。通常,它包含了用戶的全名. directory 用戶的 $HOME 目錄. shell 登錄時(shí)運(yùn)行的程序(如果空的,使用/bin/sh如果設(shè)為不存在的執(zhí)行(程序),用戶不能通過login(1) 登錄.) |
1.1.1 用戶分類
UID=0的 是超級用戶
UID=500~60000 為普通用戶
UID=1~499 是偽用戶(與系統(tǒng)和程序服務(wù)相關(guān))
1.2 /etc/shadow 文件
root:#21312sd$44:wd323%cds:14945:0:99999:7:::
用戶名:加密密碼:最后一次修改時(shí)間:最小時(shí)間間隔:最大時(shí)間間隔:警告時(shí)間:賬號閑置時(shí)間:失效時(shí)間:
1.3 /etc/group 文件
vim /etc/group
sudo:x:27:web,yanghuang,zhoumin,duyp,taofh,luanqq
group_name:password:GID:user_list
(組名:組密碼:組ID:組成員)
2、常用命令:
添加一個(gè)用戶:useradd [-ugGdsce] 用戶名
useradd -g webadmin -G root,web -c 'test suer' bob
-u UID
-g 缺省所屬用戶組GID
-G 指定用戶屬于多個(gè)組
-d 宿主目錄
-s 命令解析器Shell
-c 描述信息設(shè)置密碼:passwd 用戶名
修改用戶信息:
修改用戶名: usermod -l 新用戶名 舊用戶名
添加用戶所屬組:usermod -G sys bob_fu
刪除一個(gè)用戶:userdel [-r] 用戶名 (-r 刪除用戶的宿主目錄)
給組設(shè)置密碼: gpasswd 組名
gpasswd [-adArR] 用戶名 組名
-a 將一個(gè)用戶添加到某個(gè)組
-d 將用戶從組中刪除
-A 設(shè)置用戶組管理員
-r 刪除用戶組密碼
-R 禁止用戶切換為改組
例如:
gpasswd webadmin
gpasswd -a bob_fu webadmin
gpasswd -A bob_fu webadmin
gpasswd -r webadmin
鎖定一個(gè)用戶:passwd -l jack / usermod -L jack
解鎖一個(gè)用戶:passwd -uf jack / usermod -U jack
切換所屬組:newgrp webadmin
查看所屬組:groups lisi
添加組:groupadd [-g GID] 組名 (查看: grep webadmin /etc/group)
刪除組:groupdel webadmin
組改名:groupmod -n 新名 舊名
3、其他命令:
pwck 檢測/etc/passwd文件(鎖定文件)
vipw 編輯/etc/passwd文件查看(鎖定文件)
id 查看用戶id和組信息
finger 查看用戶詳細(xì)信息
su 切換用戶 (su - 用戶名)
passwd -S 查看用戶密碼狀態(tài)
who、w 查看當(dāng)前燈虎用戶信息
grpck 用戶組配置文件檢測
vigr 編輯/etc/group文件(鎖定文件)
chage [-lmM] 設(shè)置密碼(LINUX下可用)
-l 查看用戶密碼設(shè)置 chage -l jack
-m 密碼修改的最小天數(shù)
-M 密碼修改的最大天數(shù)
-d 密碼最后修改的日期
-I 密碼過期后,牟定賬號的天數(shù)
-E 設(shè)置密碼過期日期,若為0,表示密碼立即過期,若為-1則永不過期
-W 設(shè)置密碼過期前,開始警告天數(shù)
4、案例:授權(quán)sofeware 目錄 對jack 、mary有寫權(quán)限
root創(chuàng)建一個(gè)目錄:
mkdir /software
添加兩個(gè)用戶:
useradd jack
useradd mary
設(shè)置密碼:
password jack
password mary
添加一個(gè)組
groupadd softadm
將用戶添加到組
usermod -G softadm jack
gpasswd -a mary softadm
查看組成員:
grep softadm /etc/group
將目錄有root組授權(quán)為softadm組
chgrp softadm ./software
給組添加目錄寫權(quán)限
chmod g+w ./software
5、擴(kuò)展(RedHead系列)
5.1 批量添加用戶
<1> newusers命令導(dǎo)入用戶信息文件
例如 user.info 內(nèi)容如下
test01::10001:503::/home/test01:/bin/bash test02::10002:503::/home/test02:/bin/bash test03::10003:503::/home/test03:/bin/bash test04::10004:503::/home/test04:/bin/bash test05::10005:503::/home/test05:/bin/bash test06::10006:503::/home/test06:/bin/bash newusers < user.info |
<2> pwunconv 命令取消 shadow password 功能
pwunconv
<3> chpasswd命令 導(dǎo)入密碼
例如pass.info 內(nèi)容如下
test01:admin+01 test02:admin+02 test03:admin+03 test04:admin+04 test05:admin+05 test06:admin+06 chpasswd <pass.info |
-e 指定用戶失效時(shí)間
<4> pwconv 命令 將密碼寫入shadow文件
pwconv
優(yōu)化方案:寫腳本
#!/bin/bash #add-some-users.sh #The script is add some users to a new group. echo "Welcome to the add some users!" echo -n "Please input the new group(example : mygroup) : " read my_new_group groupadd $my_new_group echo -n "Add the $my_new_group group is successful!" echo "&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&" echo "Then add some users to the $my_new_group group!" echo -n "Please input the username(example: student) : " read new_user echo -n "Please input the username(begin_id)(example: 1 ) : " read begin_id echo -n "Please input the username(end_id)(example: 10 ) : " read end_id echo "&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&" for ((i=$begin_id;i<=$end_id;i++)) do #add the new_user to the my_new_group,and no add new_user's group useradd -n -g $my_new_group $new_user$i #delete the new_user password passwd -d $new_user$i chage -d 0 $new_user$i // done echo "&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&" |
5.2 限制用戶su 為root
groupadd sugroup
chmod 4550 /bin/su
chgrp sugroup /bin.su
ls -l /bin/su
設(shè)定后,只有sugroup組總的用戶可以使用su切換root
sueradd bob
passwd bob
usermod -G sugroup bob
5.3 用sudo 替代su
sudo 的配置文件 /etc/sudoers
(管理員)編輯配置文件命令:
visudo
格式:用戶名(組名)主機(jī)地址(主機(jī)名)=命令(絕對路徑)
例如:
用戶授權(quán):bob 192.186.9.3=/usr/sbin/useradd,/usr/sbin/userdel
組授權(quán): %webadmin host1=/bin/vim /etc/httpd/conf/httpd.conf