Linux用戶和群組管理
基本概念
Linux安全系統(tǒng)的核心是用戶賬戶。每個(gè)人能進(jìn)入Linux系統(tǒng)的用戶都會(huì)被分配一個(gè)唯一的賬戶,用戶對系統(tǒng)中各種對象的訪問權(quán)限取決于他們登錄系統(tǒng)時(shí)的賬戶
- /etc/passwd
Linux系統(tǒng)使用一個(gè)專門的文件將用戶的登錄名匹配到對應(yīng)的UID值,這個(gè)文件就是/etc/passwd文件,它包含了一些與用戶有關(guān)的關(guān)鍵信息
~$ cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
...
root用戶賬戶是Linux系統(tǒng)的管理員,固定分配給他的UID是0。Linux系統(tǒng)會(huì)為各種功能創(chuàng)建不同的賬戶,而這些賬戶并不是真的用戶,叫做系統(tǒng)賬戶
/etc/passwd文件文件中的密碼字段都被設(shè)置成了x,這并不是說所有用戶賬戶都用相同的密碼,而密碼都被保存在另一個(gè)叫/etc/shadow的文件中,這需要特殊的程序才能訪問
/etc/passwd是一個(gè)標(biāo)準(zhǔn)的文本文件,但是不建議用編輯器直接修改其內(nèi)容
- /etc/shadow
/etc/shadow文件對Linux系統(tǒng)密碼提供了更多的控制,只有root用戶才能訪問/etc/shadow文件,這讓它比/etc/passwd安全許多
他一共有九個(gè)字段
1、與/etc/passwd文件中登錄名對應(yīng)字段的登錄名
2、加密后的密碼
3、上次修改密碼后過去多少天
4、多少天后才能修改密碼
5、多少天后必須修改密碼
6、密碼過期提前多少天通知用戶
7、密碼過期后多少天禁用用戶賬戶
8、用戶賬戶被禁用的日期
9、預(yù)留字段
- /etc/group
/etc/group文件包含了系統(tǒng)上用到的每個(gè)組的信息和UID一樣,GID也使用相同的格式,并從500開始分配
用戶與組管理
主目錄:用戶的起始工作目錄,用戶登錄后有操作權(quán)限的訪問目錄
注釋性描述:這個(gè)字段并沒有什么實(shí)際的用途。在不同的Linux 系統(tǒng)中,這個(gè)字段的格式并沒有統(tǒng)一。在許多Linux系統(tǒng)中,這個(gè)字段存放的是一段任意的注釋性描述文字,用做finger命令的輸出。
登陸shell:用戶登錄后,要啟動(dòng)一個(gè)進(jìn)程,負(fù)責(zé)將用戶的操作傳給內(nèi)核,這個(gè)進(jìn)程是用戶登錄到系統(tǒng)后運(yùn)行的命令解釋器或某個(gè)特定的程序,即Shell。
- useradd
| 參數(shù) | 描述 |
|---|---|
| -c commit | 給新用戶添加備注 |
| -d home_dir | 為主目錄指定一個(gè)名字 |
| -e expire_date | 用YYYY-MM-DD格式指定一個(gè)過期賬戶的日期 |
| -f inactive_days | 指定這個(gè)賬戶密碼過期后多少天這個(gè)賬戶被禁用 |
| -g initial_geoup | 指定用戶登錄組的GID或組名 |
| -G group | 指定用戶除登陸組之外所屬的一個(gè)或多個(gè)附加組 |
| -k | 必須和-m一起使用,將/etc/skel目錄的內(nèi)容復(fù)制到用戶的HOME目錄下 |
| -m | 創(chuàng)建用戶的HOME目錄 |
| -M | 不創(chuàng)建用戶的HOME目錄 |
| -n | 創(chuàng)建一個(gè)與用戶登錄名同名的新組 |
| -r | 創(chuàng)建系統(tǒng)賬戶 |
| -p passed | 為用戶賬戶指定默認(rèn)密碼 |
| -s shell | 指定默認(rèn)登錄的shell |
| -u did | 為用戶指定唯一的UID |
- userdel
~$ userdel -r testuser
- 修改用戶
| 命令 | 描述 |
|---|---|
| usermod | 修改用戶賬戶的字段 |
| passwd | 修改已有用戶的密碼 |
| chpasswd | 從文件讀取登錄名密碼對,并更新密碼 |
| chage | 修改密碼的過期日期 |
| chfn | 修改用戶賬戶的備注信息 |
| Cash | 修改用戶的默認(rèn)登錄shell |
- 添加組
~$ groupadd 選項(xiàng) 用戶組
- 刪除組
~$ groupdel 組名
# 注意,不能使用 groupdel 命令隨意刪除群組。此命令僅適用于刪除那些 "不是任何用戶初始組" 的群組,換句話說,如果有群組還是某用戶的初始群組,則無法使用 groupdel 命令成功刪除。倘若該群組中仍包括某些用戶,則必須先刪除這些用戶后,方能刪除群組。
- 修改用戶組屬性
~$ groupmod 選項(xiàng) 用戶組
| 選項(xiàng) | 描述 |
|---|---|
| -g GID | 修改組 ID |
| -n 新組名 | 修改組名 |
| -o | 重復(fù)使用群組識(shí)別碼 |
- 切換用戶組
~$ newgrp 目標(biāo)用戶組
newgrp 指令類似 login 指令,當(dāng)它是以相同的帳號(hào),另一個(gè)群組名稱,再次登入系統(tǒng)。newgrp 命令可以從用戶的附加組中選擇一個(gè)群組,作為用戶新的初始組。欲使用 newgrp 指令切換群組,您必須是該群組的用戶,否則將無法登入指定的群組。單一用戶要同時(shí)隸屬多個(gè)群組,需利用交替用戶的設(shè)置。若不指定群組名稱,則 newgrp 指令會(huì)登入該用戶名稱的預(yù)設(shè)群組。