一:用戶賬戶文件和組群文件
1:理解賬戶文件:/etc/passwd
2:在Linux系統中,所創建的用戶賬戶及其相關信息(密碼除外)均放在/etc/passwd配置文件中,
用vim編輯器(或者使用cat /etc/passwd)打開passwd文件。
[dengzhaoxu@calm ~]$ cat -b /etc/passwd
1 root:x:0:0:root:/root:/bin/bash
2 bin:x:1:1:bin:/bin:/sbin/nologin
3 daemon:x:2:2:daemon:/sbin:/sbin/nologin
4 adm:x:3:4:adm:/var/adm:/sbin/nologin
5 lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
6 sync:x:5:0:sync:/sbin:/bin/sync
7 shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
8 halt:x:7:0:halt:/sbin:/sbin/halt
3:passwd文件的每一行都代表着一個用戶,每一行用“:”分7個域
//格式 用戶名:加密口令:UID:GID:用戶的描述信息:主目錄:命令解釋器(登陸shell)
4:創建新用戶並將其加入群組。將user_s1和user_s2加入到user中.
[dengzhaoxu@calm ~]$ su root
密碼:
[root@calm dengzhaoxu]# useradd user
[root@calm dengzhaoxu]# useradd user_s1
[root@calm dengzhaoxu]# useradd user_s2
[root@calm dengzhaoxu]# useradd -G user user_s1
useradd:用戶“user_s1”已存在
[root@calm dengzhaoxu]# useradd -G user user_s2
useradd:用戶“user_s2”已存在
二:etc/shadow文件:
1:由於所有用戶對/etc/passwd文件均有讀取權限,為了增強系統的安全性,用戶經過加密之后的口令都
存放在/etc/shadow文件中。/etc/shadow文件只對root用戶可讀,因而大大提高了系統的安全性。
2:shadow文件的每一行也用“:”分為9個域。
sshd:!!:18255::::::
avahi:!!:18255::::::
postgres:!!:18255::::::
postfix:!!:18255::::::
ntp:!!:18255::::::
tcpdump:!!:18255::::::
三:理解組群文件:
1:組群賬戶的信息存放在/etc/group(查看不受限制)文件中,而關於組群管理的信息(組群口令、組群管理員等)
則存放在/etc/gshadow(該文件只能root可以查看)文件中。
[root@calm dengzhaoxu]# cat /etc/group
root:x:0: //文件每行分為四個域。
bin:x:1: //格式 組群名稱:組群口令(一般為空用x占位):GID:組群成員列表
daemon:x:2:
sys:x:3:
adm:x:4:
tty:x:5:
[root@calm dengzhaoxu]# cat /etc/gshadow
root:::
bin:::
daemon:::
sys:::
adm:::
tty:::
disk:::
四:管理用戶賬戶:
1:新建用戶:在系統新建用戶可以使用useradd或者adduser命令。
useradd命令的格式:useradd [選項] <user_Name>
2:選項:
選項 | 說明 |
-s shell | 指定用戶的登陸shell,默認為bin/bash |
-c comment | 用戶的注釋信息 |
-d home_dir | 指定用戶的主目錄 |
-e expire_date | 禁用帳號的日期:格式為:YYYY-WW-DD |
- u UID | 指定用戶的UID,他必須是唯一的,且必須要大於499 |
-p passwd | 加密的口令 |
- g initial_group | 用戶所屬主組群的組群名稱或者GID |
3:新建用戶user3,UID為1010,指定其所屬的私有組為group1(group1組的標識符為1010),用戶的主目錄為/home/user3,
用戶的shell為/bin/bash,用戶的密碼為123456,賬戶永不過期。
[root@calm dengzhaoxu]# groupadd -g 1010 group1 //新建組群group1
[root@calm dengzhaoxu]# useradd -u 1010 -g 1000 -d /home/user1 -s /bin/bash -p 123456 -f -1 user1
4:設置用戶賬戶口令:
指定和修改用戶賬戶口令的命令是passwd。超級用戶可以為自己和其他用戶設置口令,而普通用戶只能為自己設置口令。
passwd命令的格式為:passwd [選項] [用戶名字]
[root@calm dengzhaoxu]# useradd -u 1010 -g 1000 -d /home/user3 -s /bin/bash -p 123456 -f -1 user3
[root@calm dengzhaoxu]# passwd user3
更改用戶 user3 的密碼 。
新的 密碼:
無效的密碼: 密碼少於 8 個字符
重新輸入新的 密碼:
抱歉,密碼不匹配。
新的 密碼:
無效的密碼: 密碼未通過字典檢查 - 過於簡單化/系統化
重新輸入新的 密碼:
抱歉,密碼不匹配。
新的 密碼:
重新輸入新的 密碼:
passwd:所有的身份驗證令牌已經成功更新。
[root@calm dengzhaoxu]# passwd -n 10 user_s3 //-n:表示指定口令最短的存活期為10天。
調整用戶密碼老化數據user_s3。
passwd: 操作成功
[root@calm dengzhaoxu]# passwd -n 10 -x 12 user_s3 //最短10天最長12(-x:表示最長)天
調整用戶密碼老化數據user_s3。
passwd: 操作成功
[root@calm dengzhaoxu]#
5:chage命令:要修改用戶賬戶口令,也可以用chage命令實現
語法格式:chage [選項] username
設置user_s3用戶的最短口令存活期為6天,最長口令存活期為60天,口令到期前5天提醒用戶修改口令。設置完成后查看各屬性值。
[root@calm dengzhaoxu]# chage -m 6 -M 60 -W 5 user_s3
[root@calm dengzhaoxu]# chage -L user1
chage:無效選項 -- L
用法:chage [選項] 登錄
選項:
-d, --lastday 最近日期 將最近一次密碼設置時間設為“最近日期”
-E, --expiredate 過期日期 將帳戶過期時間設為“過期日期”
-h, --help 顯示此幫助信息並推出
-I, --inactive INACITVE 過期 INACTIVE 天數后,設定密碼為失效狀態
-l, --list 顯示帳戶年齡信息
-m, --mindays 最小天數 將兩次改變密碼之間相距的最小天數設為“最小天數”
-M, --maxdays 最大天數 將兩次改變密碼之間相距的最大天數設為“最大天數”
-R, --root CHROOT_DIR chroot 到的目錄
-W, --warndays 警告天數 將過期警告天數設為“警告天數”
[root@calm dengzhaoxu]# chage -l user_s3
最近一次密碼修改時間 :2月 10, 2020
密碼過期時間 :4月 10, 2020
密碼失效時間 :從不
帳戶過期時間 :從不
兩次改變密碼之間相距的最小天數 :6
兩次改變密碼之間相距的最大天數 :60
在密碼過期之前警告的天數 :5
五:維護用戶賬戶:
1:usermod命令:
usermod命令用於修改用戶的屬性,格式為“usermod [選項] 用戶名”。
[root@calm dengzhaoxu]# id user_s3 //查看user_s3的部分信息。
uid=1011(user_s3) gid=1011(user_s3) 組=1011(user_s3)
[root@calm dengzhaoxu]# id user_s3
uid=1011(user_s3) gid=1011(user_s3) 組=1011(user_s3)
[root@calm dengzhaoxu]# usermod -G root user_s3 //-G:變更擴展用戶組
[root@calm dengzhaoxu]# id user_s3
uid=1011(user_s3) gid=1011(user_s3) 組=1011(user_s3),0(root)
[root@calm dengzhaoxu]# usermod -u 8888 user_s3 //修改UID
[root@calm dengzhaoxu]# id user_s3
uid=8888(user_s3) gid=1011(user_s3) 組=1011(user_s3),0(root)
[root@calm dengzhaoxu]#
2:禁用用戶和刪除用戶:有時需要臨時禁用一個賬戶而不刪除它。禁用用戶賬戶可以用passwd或usermod命令實現,
也可以直接修改/etc/passwd或/etc/shadow文件。
[root@calm dengzhaoxu]# passwd -l user_s3 //-l命令禁用
鎖定用戶 user_s3 的密碼 。
passwd: 操作成功
[root@calm dengzhaoxu]# tail -1 /etc/shadow //tail:命令查看
user_s3:!!:18302:6:60:5:::
[root@calm dengzhaoxu]# passwd -u user_s3 //-u 命令解鎖
解鎖用戶 user_s3 的密碼。
passwd: 警告:未鎖定的密碼將是空的。
passwd: 不安全的操作(使用 -f 參數強制進行該操作)
3:userdel命令:
要刪除一個賬戶,可以直接刪除/etc/passwd和/etc/shadow文件中要刪除的用戶所對應的行,或者用userdel命令刪除。
userdel格式:userdel [-r] username
-r:如果不加-r選項,userdel命令會在系統中所有與賬戶有關的文件中(例如/etc/passwd,/etc/shadow,/etc/group)
將用戶的信息全部刪除。如果加-r選項,則在刪除用戶賬戶的同時,還將用戶主目錄以及其下的所有文件和目錄全部刪除掉。另外,
如果用戶使用E-mail的話,同時也將/var/spool/mail目錄下的用戶文件刪掉。
六:管理組群:組群管理包括新建組群、維護組群賬戶和為組群添加用戶等內容。
1:創建組群:
[root@calm dengzhaoxu]# groupadd testgroup
[root@calm dengzhaoxu]# groupadd testgroup
groupadd:“testgroup”組已存在
2:刪除組群:需要注意的是,如果要刪除的組群是某個用戶的主組群,則該組群不能被刪除。
[root@calm dengzhaoxu]# groupdel testgroup
3:修改組群:
命令格式:groupmod [選項] groupName
[root@calm dengzhaoxu]# groupadd testgroup
[root@calm dengzhaoxu]# groupmod -g 1002 testgroup //
groupmod:GID “1002”已經存在
[root@calm dengzhaoxu]# groupmod -g 10112 testgroup //-g:表示修改組群的GID為10112
[root@calm dengzhaoxu]# groupmod -n testGroup testgroup //修改組群名字
4:為組群添加新用戶:在Red Hat Linux中使用不帶任何參數的useradd命令創建用戶時,會同時創建一個和用戶賬戶同名的組群,
稱為主組群。當一個組群中必須包含多個用戶時,則需要使用附屬組群。在附屬組中增加、刪除用戶都用gpasswd命令。
命令格式:gpasswd [選項] 用戶 組
[root@calm dengzhaoxu]# useradd -u 10101 -g 10002 -d /home/user4 -s /bin/bash -p 123456 -f -1 user4
useradd:“10002”組不存在
[root@calm dengzhaoxu]# useradd -u 10101 -g 1002 -d /home/user4 -s /bin/bash -p 123456 -f -1 user4
[root@calm dengzhaoxu]# id user4
uid=10101(user4) gid=1002(user_s1) 組=1002(user_s1)
[root@calm dengzhaoxu]# gpasswd -a user4 testGroup //創建ueser4時就創建了一個名為user4的主組,-a:表示將用戶加入到附屬組testGroup中。
正在將用戶“user4”加入到“testGroup”組中
[root@calm dengzhaoxu]#
七:使用用戶管理器管理用戶和組群:默認圖形界面的用戶管理器是沒有安裝的,需要安裝system-config-users工具
1:在使用su命令進行用戶的切換時,導致root密碼暴露,從而增大了黑客的入侵的概率.
2:[dengzhaoxu@calm ~]$ rpm -qa|grep system-config-users //該命令是用於檢測是否安裝管理器.|:為管道符.
3:使用yum命令安裝:
[root@calm dengzhaoxu]# vim /etc/yum.repos.d/dvd.repo //編寫dvd.repo文件.文件內容在后面給出.
[root@calm dengzhaoxu]# yum info system-config-users
已加載插件:langpacks, product-id, search-disabled-repos, subscription-manager
This system is not registered with an entitlement server. You can use subscription-manager to register.
dvd | 4.3 kB 00:00
sublime-text | 2.9 kB 00:00
(1/2): dvd/group_gz | 146 kB 00:00
(2/2): dvd/primary_db | 4.2 MB 00:00
可安裝的軟件包
名稱 :system-config-users
架構 :noarch
版本 :1.3.5
發布 :4.el7
大小 :337 k
源 :dvd
簡介 : A graphical interface for administering users and groups
網址 :https://than.fedorapeople.org/system-config-users
協議 : GPLv2+
描述 : system-config-users is a graphical utility for administrating
: users and groups. It depends on the libuser library.
[root@calm dengzhaoxu]# yum clean all //按照教科書上說的安裝前先清理軟件源.
[root@calm dengzhaoxu]# yum install system-config-users -y //開始安裝.
文件內容:
#/etc/yum.repos.d/dvd.repo
#or for ONLY the media repo,do this:
#yum --disablerepo=\* --enablerepo=c6-media [command]
[dvd]
name=dvd
baseurl=file:///iso
gpgcheck=0
enabled=1
[root@calm dengzhaoxu]# system-config-users //打開用戶管理器.
八:使用常用的賬戶管理命令:
1:vipw命令等價於:vim /etc/passwd //使用vipw編寫passwd文件更安全.
2:vigr命令等價於:vim /etc/group
3:pwck命令:pwck命令用於驗證用戶賬戶文件認證信息的完整性。
該命令檢測/etc/passwd文件和/etc/shadow文件每行中字段的格式和值是否正確。pwck命令的語法為
4:grpck命令用於驗證組群文件認證信息的完整性。該命令還可檢測/etc/group文件和/etc/gshadow文件每行中字段的格式和值是否正確
5:id命令:用於顯示一個用戶的UID和GID以及用戶所屬的組列表。在命令行輸入id直接回車將顯示當前用戶的ID信息。
id命令的語法為:id [選項] userName
6:finger命令:
finger [選項] userName :管理員和其他用戶都可以用finger命令來了解用戶 //選項有:-l,-m,-s,-p共四種。
7:chfn,chsh命令:
用戶自己可以使用chfn和chsh命令來修改finger命令顯示的內容
8:whoami命令用於顯示當前用戶的名稱。whoami命令與id -un命令的作用相同。
9:newgrp命令:
10:使用groups命令可以列出指定用戶的組群