linux用戶組有2種:1、基本組 ( 私有組 );建立賬戶時,若沒有指定賬戶所屬的組,系統(tǒng)會建立一個和用戶名相同的組,這個組就是基本組。2、附加組 ( 公有組 ),可以容納多個用戶,組中的用戶都具有組所擁有的權(quán)利。
本教程操作環(huán)境:linux7.3系統(tǒng)、Dell G3電腦。
linux用戶和組的分類
1、linux下的用戶可以分為3類
-
超級用戶 —— 用戶名為 root ,它具有一切權(quán)限,只有進(jìn)行系統(tǒng)維護(hù) ( 例如:建立用戶等 ) 或其他必要情形下才用超級用戶登錄,以避免系統(tǒng)出現(xiàn)安全問題。
-
系統(tǒng)用戶(偽用戶) —— 是 Linux 系統(tǒng)正常工作所必需的用戶。主要是為了滿足相應(yīng)的系統(tǒng)進(jìn)程對文件屬主的要求而建立的,例如: bin 、 daemon 、 adm 、 lp 等用戶。系統(tǒng)用戶不能用來登錄。
-
普通用戶——是為了讓使用者能夠使用Linux系統(tǒng)資源而建立的,我們的大多數(shù)用戶屬于此類。
2、linux中的組有以下兩類:
-
基本組 ( 私有組 ) :建立賬戶時,若沒有指定賬戶所屬的組,系統(tǒng)會建立一個和用戶名相同的組,這個組就是基本組。
-
附加組 ( 公有組 ) :可以容納多個用戶,組中的用戶都具有組所擁有的權(quán)利。
3、linux中用戶組和用戶的配置文件
在linux中,用戶賬號,密碼、用戶組信息,和用戶組密碼是存放在不同的配置文件中的。
文件功能 | 文件名稱 |
用戶帳號文件 |
/etc/passwd |
用戶密碼 | /etc/shadow |
用戶組帳號文件 | /etc/gruoup |
用戶組密碼文件 | /etc/gshadow |
(1)用戶賬號文件——/etc/passwd
passwd 是一個文本文件,用于定義系統(tǒng)的用戶賬號,由于所有用戶都對 passwd 有讀權(quán)限,所以該文件中只定義用戶賬號,而不保存口令。
# 每行定義一個用戶賬號信息,每行由 7 個字段組成,字段之間用 “:” 分隔,其格式如下:
賬號名稱 : 密碼 :UID:GID: 個人資料 : 主目錄 :Shell
/etc/passwd 文件中字段說明
-
賬號名稱:用戶登錄 Linux 系統(tǒng)時使用的名稱。
-
密碼:以前是以加密格式保存密碼的位置,現(xiàn)在密碼保存在 /etc/shadow 文件中,此處只是密碼占 位符 “x” 或 “*” 。若為 “x” ,說明密碼經(jīng)過了 shadow 的保護(hù)。
-
UID :用戶的標(biāo)識,是一個數(shù)值,用它來區(qū)分不同的用戶,每個用戶都有一個 UID 數(shù)值:
超級用戶的 UID——0 -
系統(tǒng)用戶的 UID——1 ~ 999
-
普通用戶的 UID—— ≥ 1000
-
GID :用戶所在基本組的標(biāo)識,是一個數(shù)值,用它來區(qū)分不同的組,相同的組具有相同的 GID 。
-
個人資料:可以記錄用戶的完整姓名、地址、辦公室電話、家庭電話等個人信息。
-
主目錄:類似 Windows 的個人目錄,通常是 /home/username ,這里 username 是用戶名,用戶 執(zhí)行 “cd ~ ” 命令時當(dāng)前目錄會切換到個人主目錄。
- Shell :定義用戶登錄后激活的 Shell ,默認(rèn)是 Bash Shell
(2)用戶密碼文件——/etc/shadow
# 每行定義了一個用戶信息,行中各字段用 “:” 隔開 , 其格式如下:
登錄名 : 加密口令 : 最后一次修改時間 : 最小時間間隔 : 最大時間間隔 : 警告時間 : 不活動時間 : 失效時間 : 標(biāo)志
/etc/shadow文件中的每行9個字段的含義分別為字段
-
登錄名 :登錄名
-
加密口令 :使用SHA-512/SHA-256/MD5 算法加密后的密碼( $id$, id為1示 md5,5表示sha256, 6為sha512),若為空,表示該用戶無需密碼即可登錄,若為“*” 表示該賬號不 能用于登錄系統(tǒng),若為“!”表示該賬號密碼已被鎖定
-
最后一次修改時間 :最近一次更改密碼的日期, 以距離 1970 年 1 月 1 日的天數(shù)表示
-
最小時間間隔 :密碼在多少天內(nèi)不能被修改。默認(rèn)值為0, 表示不限制
-
最大時間間隔 :密碼在多少天后必須被修改。默認(rèn)值為99999, 表示不進(jìn)行限制
-
警告時間 :提前多少天警告用戶密碼將過期, 默認(rèn)值為 7 天 ,0 表示不提供警告
-
不活動時間 :密碼過期多少天后禁用此用戶
-
失效時間 :密碼失效日期, 以距離 1970 年 1 月 1 日的天數(shù)表示 , 默認(rèn)為空 , 表示永久可用 標(biāo)志:保留未用,以便以后發(fā)展之用
查看用戶上次一次修改root密碼的日期

(3)用戶組賬號文件——/etc/group
系統(tǒng)中的每個組,在 /etc/group 文件中有一行記錄,任何用戶均可以讀取用戶組賬戶信息配置文件。

字段說明
-
Groupname :組的名字
-
Passwd :組的加密口令
-
GID :是系統(tǒng)區(qū)分不同組的ID ,在 /etc/passwd 域中的 GID 字段是用這個數(shù)來指定用戶的基本組
-
Userlist :是用“ , ” 分開的用戶名,列出的成員以該組為附加組。
作業(yè):
1、創(chuàng)建用戶lockuser, 并指定家目錄為/home/lock, 然后鎖定該用戶

2、解鎖lockuser, 并設(shè)定下次登錄時必須修改密碼
3、創(chuàng)建用戶testuser并設(shè)置密碼,修改用戶名為normaluser
4、創(chuàng)建文件,查詢文件的acl,為文件設(shè)置acl 用戶為testuser1 權(quán)限為 rwx,為文件設(shè)置acl的mask: 權(quán)限為r-x
5、設(shè)置suid,為文件設(shè)置suid(兩種方式 u+s和nnnn)的方式
6、設(shè)置sgid, 為文件設(shè)置sgid(兩種方式 g+s和nnnn)的方式
7、設(shè)置sbit,為目錄設(shè)置sbit(兩種方式 o+t和nnnn)的方式
Linux 添加用戶至用戶組
通過使用 Linux 命令行的幾個的示例,逐步向你展示如何在 Linux 上將用戶添加到用戶組中,以及如何在 Linux 上添加用戶和組。這些命令應(yīng)該可以在任何 Linux 發(fā)行版上工作,并且已經(jīng)在CentOS、Debian 和 Ubuntu 上進(jìn)行過測試。
添加一個新用戶到用戶組
一個 Linux 用戶可以有一個主組(Primary group)和一個或多個附屬組(Secondary groups)。這些組可以在創(chuàng)建用戶時作為 adduser
命令的參數(shù)。
所有命令都必須以 root
用戶的身份執(zhí)行。在 Ubuntu 上,請在所有命令前加上 sudo
,或者運行sudo -s
切換到 root
用戶。
添加用戶組
作為第一步,我將添加兩個新的用戶組,分別是 family
和 friends
:
groupadd family groupadd friends
添加新用戶至單個用戶組
下面我將一個新用戶 tom
,同時將用戶添加到用戶組 family
。family
用戶組將通過使用 -G
參數(shù)作為一個附屬組添加。
useradd -G family tom
添加新用戶到多個用戶組
tom
現(xiàn)在是 family
用戶組的一個用戶。參數(shù) -G
允許指定多個用戶組,每個用戶組之間使用逗號進(jìn)行分隔。如果要將用戶 tom
添加到 family
和 friends
兩個用戶組,使用下面的命令:
useradd -G family,friends tom
設(shè)置用戶密碼
請注意,新的 Linux 用戶 tom
還沒有密碼,所以無法登錄。要設(shè)置此用戶的密碼,可以執(zhí)行下面的命令:
passwd tom
并在命令請求時輸入兩次新密碼。
在上面的示例中,我們將用戶 tom
添加到輔助組中,adduser
命令自動創(chuàng)建了一個新的主組,并將該組分配為主組。
- 用戶名: tom
- 主組: tom
- 附屬組: family(或者使用第二個案例添加 family 和 friends 兩個附屬組)
設(shè)置新的主組
也許你想在添加 tom
用戶時,設(shè)置主組為 family
(而不是默認(rèn)創(chuàng)建的 tom
用戶組),附屬組為 friends
,可以使用這個命令:
useradd -g family -G friends tom
使用 man
命令可以獲得 useradd
命令的所有命令行選項的詳細(xì)描述:
man useradd
將已有的用戶添加至用戶組
對于這個任務(wù),我們將使用 usermod
命令。usermod
命令可以修改用戶的各種選項,包括用戶的組成員關(guān)系。
首先,我將添加第三個用戶組 colleagues
:
groupadd colleagues
使用 usermod
我將 colleagues
用戶組作為附屬組添加到用戶 tom
:
usermod -a -G colleagues tom
命令解釋:-a
表示 append
,它只能與 -G
選項(附屬組)組合使用。所以最終我們將 tom
用戶添加到 colleagues
用戶組中,這個用戶組是用戶的一個附屬組。
-G
選項可以指定多個用戶組,每個用戶組之間使用逗號進(jìn)行分隔。例如:-G group1,group2,group3
。
如果想要修改 tom
用戶的主組為 family
,可以使用命令:
usermod -g family tom
使用 man
命令可以獲取 usermod
命令的所有命令行選項的詳細(xì)說明:
man usermod