Linux用戶和用戶組
??Linux系統(tǒng)是一個(gè)多用戶多任務(wù)的分時(shí)操作系統(tǒng),任何一個(gè)要使用系統(tǒng)資源的用戶,都必須首先向系統(tǒng)管理員申請(qǐng)一個(gè)賬號(hào),然后以這個(gè)賬號(hào)的身份進(jìn)入系統(tǒng)。
??用戶的賬號(hào)一方面可以幫助系統(tǒng)管理員對(duì)使用系統(tǒng)的用戶進(jìn)行跟蹤,并控制他們對(duì)系統(tǒng)資源的訪問;另一方面也可以幫助用戶組織文件,并為用戶提供安全性保護(hù)。
??每個(gè)用戶賬號(hào)都擁有一個(gè)惟一的用戶名和各自的密碼。
??用戶在登錄時(shí)鍵入正確的用戶名和密碼后,就能夠進(jìn)入系統(tǒng)和自己的主目錄。
?
實(shí)現(xiàn)用戶賬號(hào)的管理,要完成的工作主要有如下幾個(gè)方面:
- 用戶賬號(hào)的添加、刪除與修改。
- 用戶密碼的管理。
- 用戶組的管理。
相關(guān)三個(gè)重要文件(均可使用vim進(jìn)行查看編輯)
-
/etc/passwd:存儲(chǔ)用戶的關(guān)鍵信息
root:x:0:0:root:/root:/bin/bash
該行由7段組成,每段間以:分隔,每段含義如下
| 用戶名 | 用戶密碼 | 用戶ID | 組ID | 備注 | 家目錄 | 啟動(dòng)shell |
|---|---|---|---|---|---|---|
| root | x | 0 | 0 | root | /root | /bin/bash |
詳細(xì)說明:
①用戶密碼均顯示為“x”,實(shí)際密碼加密后將加密值儲(chǔ)存在/etc/shadow中
②用戶ID必須為非負(fù)數(shù),0為root用戶,1499為系統(tǒng)保留用戶,50065535為普通用戶
③備注為一行不含空格的字符串,用于簡(jiǎn)述用戶信息
④啟動(dòng)shell為從該用戶登錄系統(tǒng)后所使用的shell程序,常用的shell有sh csh ksh tcsh bash等等,默認(rèn)情況下為/bin/sh
?
-
/etc/group:存儲(chǔ)用戶組的關(guān)鍵信息
root:x:0:
該行由4段組成,每一段間以:區(qū)分,每段含義如下
| 組名稱 | 組密碼 | 組ID | 組成員 |
|---|---|---|---|
| root | x | 0 |
詳細(xì)說明:
①組密碼均顯示為“x”,和用戶密碼一樣加密儲(chǔ)存在/etc/gshadow,一般情況下不會(huì)給用戶組設(shè)置密碼
②組成員如果顯示空缺則該組只有一個(gè)用戶且用戶名與組名相同,如果該組有多個(gè)用戶,則該字段顯示所有的用戶名,中間以,隔開
?
-
/etc/shadow:存儲(chǔ)用戶密碼的關(guān)鍵信息
root:$id$salt$encrtpted:17051:0:99999:7:::
該行由9段組成,每一段間以:區(qū)分,每段含義如下
| 用戶名 | 加密值 | 最近密碼修改時(shí)間 | 密碼最短使用天數(shù) | 密碼最長(zhǎng)使用天數(shù) | n天前提示密碼即將過期 | 密碼過期后寬限天數(shù) | 賬號(hào)失效時(shí)間 | 保留字段 |
|---|---|---|---|---|---|---|---|---|
| root | $id$salt$encrtpted |
17051 | 0 | 99999 | 7 |
詳細(xì)說明:
①加密值顯示!表示被鎖定,顯示!!表示沒有密碼
②最近密碼修改時(shí)間,是從1970年1月1日開始計(jì)算一共經(jīng)歷了多少天
③最短密碼使用天數(shù)設(shè)置為0,表示無限制
④最長(zhǎng)密碼使用天使設(shè)置為99999表示無限制
⑤密碼過期后寬限天數(shù)設(shè)置為0表示過期立即鎖定,設(shè)置為-1表示永不鎖定
二、用戶賬號(hào)管理
-
useradd
功能描述:添加用戶
常用語法:useradd[選項(xiàng)] [用戶名]
常用選項(xiàng):
?????-g?指定用戶組
?????-G?指定用戶附加組
?????-u?指定用戶的用戶編號(hào)
示例:
[root@vultr ~]# useradd test1 //不加任何選項(xiàng)直接添加用戶“test1”
[root@vultr ~]# ls /home/ //驗(yàn)證家目錄下是否有“test1”,有表示創(chuàng)建成功
test1
[root@vultr ~]# tail -1 /etc/passwd //驗(yàn)證“passwd”文件最后是否有“test1”用戶信息,有表示創(chuàng)建成功
test1:x:1002:1002::/home/test1:/bin/bash
[root@vultr ~]# useradd -g 1002 -G 1001 -u 888 test2 //添加用戶“test2”指定用戶組為“1002”,附加用戶組為“1001”,用戶ID為“888”
[root@vultr ~]# tail -1 /etc/passwd //查看“/etc/passwd”有“test2”用戶信息,并且指定用戶ID和用戶組成功
test2:x:888:1002::/home/test2:/bin/bash
[root@vultr ~]# tail -2 /etc/group //在“/etc/passwd”文件夾下看到,“test2”用戶屬于“1001”附加組中
mysql:x:1001:test2
test1:x:1002:
?
-
usermod
功能描述:修改用戶
常用語法:usermod[選項(xiàng)] [用戶名]
常用選項(xiàng):
?????-g?修改用戶組
?????-G?修改用戶附加組
?????-u?修改用戶的用戶編號(hào)
?????-l?修改用戶名
示例:
[root@vultr home]# useradd test1 //添加一個(gè)“test1”
[root@vultr home]# tail -1 /etc/passwd
test1:x:1002:1002::/home/test1:/bin/bash //“test1”用戶組ID為“1002”
[root@vultr home]# usermod -g 1000 -G 1001 test1 //修改“test1”的用戶組ID為“1000”,附加組ID為“1001”
[root@vultr home]# tail -1 /etc/passwd
test1:x:1002:1000::/home/test1:/bin/bash //用戶組ID已修改
[root@vultr home]# tail -3 /etc/group
www:x:1000:
mysql:x:1001:test1 //“1001”附加組成員有用戶“test1”
test1:x:1002:
[root@vultr home]# usermod -l baba test1 //修改“test1”的用戶名為“baba”
[root@vultr home]# tail -1 /etc/passwd
baba:x:1002:1000::/home/test1:/bin/bash //修改成功
?
-
passwd
功能描述:修改密碼
常用語法:passwd[用戶名]
[root@vultr ~]# tail -1 /etc/shadow //查詢“shadow”文件發(fā)現(xiàn)“test1”用戶密碼字段顯示“!!”表示沒有密碼
test1:!!:17722:0:99999:7:::
[root@vultr ~]# passwd test1 //給“test1”用戶修改/新增密碼
Changing password for user test1.
New password: //輸入新密碼
Retype new password: //再次輸入新密碼
passwd: all authentication tokens updated successfully. //提示密碼設(shè)置成功
[root@vultr ~]# tail -1 /etc/shadow //此時(shí)再次查詢“shadow”文件,發(fā)現(xiàn)有了加密值
test1:$1$pMEfQ0PW$tKUwcMa50ZGeoCKjx7gdB1:17723:0:99999:7:::
?
-
su
功能描述:用于切換用戶登錄
常用語法:su[用戶名](若不寫用戶名則表示切換為管理員)
示例:
[root@vultr ~]# su test1 //切換到test1用戶
[test1@vultr root]$ su //切換成功,并切換回root用戶
Password: //普通用戶切換到root用戶時(shí)要輸入root用戶密碼
[root@vultr ~]# //成功切換回root用戶
?
-
userdel
功能描述:刪除用戶
常用語法:userdel[選項(xiàng)] [用戶名]
常用選項(xiàng):
?????-r?刪除同時(shí)刪除其家目錄
[root@vultr ~]# userdel -r test1 //刪除“test1”用戶及其家目錄
[root@vultr ~]
[root@vultr ~]# tail -3 /etc/passwd //查詢“passwd”文件,“test1”已被刪除
chrony:x:998:996::/var/lib/chrony:/sbin/nologin
www:x:1000:1000::/home/www:/sbin/nologin
mysql:x:1001:1001::/home/mysql:/sbin/nologin:
[root@vultr ~]# ls /home/ //查詢家目錄,沒有“test1”
[root@vultr ~]#
?
二、用戶賬號(hào)管理
-
groupadd
功能描述:添加用戶組
常用語法:groupadd[選項(xiàng)] [用戶組名]
常用選項(xiàng):
?????-g?指定用戶組ID,如果不指定用戶組ID則默認(rèn)從500后遞增
示例:
[root@vultr ~]# groupadd -g 888 baba //創(chuàng)建用戶組“baba”,指定用戶組ID為“888”
[root@vultr ~]# tail -1 /etc/group //查詢“/etc/group”表示創(chuàng)建成功
baba:x:888:
?
-
groupmod
功能描述:編輯用戶組
常用語法:groupadd[選項(xiàng)] [用戶組名]
常用選項(xiàng):
?????-g?修改用戶組ID
?????-n?修改用戶組名
示例:
[root@vultr ~]# tail -1 /etc/group //查詢“/etc/group”用戶組“baba”的信息
baba:x:888:
[root@vultr ~]# groupmod -g 666 -n yeye baba //修改用戶組“baba”的組ID為“666”,組名為“yeye”
[root@vultr ~]# tail -1 /etc/group //查詢“/etc/group”表示修改成功
yeye:x:666:
?
-
groupdel
功能描述:刪除用戶組
常用語法:groupdel[用戶組名]
常用選項(xiàng):
[root@vultr ~]# tail -1 /etc/group //查詢用戶組“yeye”
yeye:x:666:
[root@vultr ~]# groupdel yeye //刪除用戶組“yeye”
[root@vultr ~]# tail -1 /etc/group //用戶組“yeye”刪除成功
mysql:x:1001:
?
寫在最后
??本篇主要讓大家了解下用戶和用戶組關(guān)系,及管理方式,說到管理方式,無非就是“增”“刪”“改”嘛。依舊希望大家通過多敲命令的方式去熟悉并且牢記,還是那句話,看得再多,不如自己做遍~
??好啦,雞湯還是不能忘的~
?
