共計 3696 個字符,預計需要花費 10 分鐘才能閱讀完成。
本文丸趣 TV 小編為大家詳細介紹“linux 用戶組分為哪些類型”,內容詳細,步驟清晰,細節處理妥當,希望這篇“linux 用戶組分為哪些類型”文章能幫助大家解決疑惑,下面跟著丸趣 TV 小編的思路慢慢深入,一起來學習新知識吧。
linux 用戶組有 2 種:1、基本組 ( 私有組 );建立賬戶時,若沒有指定賬戶所屬的組,系統會建立一個和用戶名相同的組,這個組就是基本組。2、附加組 ( 公有組 ),可以容納多個用戶,組中的用戶都具有組所擁有的權利。
linux 用戶和組的分類
1、linux 下的用戶可以分為 3 類
超級用戶 —— 用戶名為 root,它具有一切權限,只有進行系統維護 (例如:建立用戶等) 或其他必要情形下才用超級用戶登錄,以避免系統出現安全問題。
系統用戶(偽用戶)—— 是 Linux 系統正常工作所必需的用戶。主要是為了滿足相應的系統進程對文件屬主的要求而建立的,例如:bin、daemon、adm、lp 等用戶。系統用戶不能用來登錄。
普通用戶——是為了讓使用者能夠使用 Linux 系統資源而建立的,我們的大多數用戶屬于此類。
2、linux 中的組有以下兩類:
基本組
(
私有組
)
:建立賬戶時,若沒有指定賬戶所屬的組,系統會建立一個和用戶名相同的組,這個組就是基本組。
附加組
(
公有組
)
:可以容納多個用戶,組中的用戶都具有組所擁有的權利。
3、linux 中用戶組和用戶的配置文件
在 linux 中,用戶賬號,密碼、用戶組信息,和用戶組密碼是存放在不同的配置文件中的。
文件功能文件名稱
用戶帳號文件
/etc/passwd 用戶密碼 /etc/shadow 用戶組帳號文件 /etc/gruoup 用戶組密碼文件 /etc/gshadow
(1)用戶賬號文件——/etc/passwd
passwd
是一個文本文件,用于定義系統的用戶賬號,由于所有用戶都對
passwd
有讀權限,所以該文件中只定義用戶賬號,而不保存口令。
#
每行定義一個用戶賬號信息,每行由
7
個字段組成,字段之間用
“:”
分隔,其格式如下:
賬號名稱
:
密碼
:UID:GID:
個人資料
:
主目錄
:Shell
/etc/passwd
文件中字段說明
賬號名稱:用戶登錄
Linux
系統時使用的名稱。
密碼:以前是以加密格式保存密碼的位置,現在密碼保存在
/etc/shadow
文件中,此處只是密碼占 位符
“x”
或
“*”
。若為
“x”
,說明密碼經過了
shadow
的保護。
UID
:用戶的標識,是一個數值,用它來區分不同的用戶,每個用戶都有一個
UID
數值:
超級用戶的
UID——0
系統用戶的
UID——1
~
999
普通用戶的
UID——
≥
1000
GID
:用戶所在基本組的標識,是一個數值,用它來區分不同的組,相同的組具有相同的
GID
。
個人資料:可以記錄用戶的完整姓名、地址、辦公室電話、家庭電話等個人信息。
主目錄:類似
Windows
的個人目錄,通常是
/home/username
,這里
username
是用戶名,用戶 執行
“cd
~
”
命令時當前目錄會切換到個人主目錄。
Shell
:定義用戶登錄后激活的
Shell
,默認是
Bash Shell
(2)用戶密碼文件——/etc/shadow
# 每行定義了一個用戶信息,行中各字段用“:”隔開, 其格式如下:
登錄名: 加密口令: 最后一次修改時間: 最小時間間隔: 最大時間間隔: 警告時間: 不活動時間: 失效時間: 標志
/etc/shadow 文件中的每行 9 個字段的含義分別為字段
登錄名:登錄名
加密口令:使用 SHA-512/SHA-256/MD5 算法加密后的密碼($id$, id 為 1 示 md5,5 表示 sha256,6 為 sha512),若為空,表示該用戶無需密碼即可登錄,若為“*”表示該賬號不 能用于登錄系統,若為“!”表示該賬號密碼已被鎖定
最后一次修改時間:最近一次更改密碼的日期, 以距離 1970 年 1 月 1 日的天數表示
最小時間間隔:密碼在多少天內不能被修改。默認值為 0, 表示不限制
最大時間間隔:密碼在多少天后必須被修改。默認值為 99999, 表示不進行限制
警告時間:提前多少天警告用戶密碼將過期, 默認值為 7 天,0 表示不提供警告
不活動時間:密碼過期多少天后禁用此用戶
失效時間:密碼失效日期, 以距離 1970 年 1 月 1 日的天數表示, 默認為空, 表示永久可用 標志:保留未用,以便以后發展之用
查看用戶上次一次修改 root 密碼的日期
(3)用戶組賬號文件——/etc/group
系統中的每個組,在 /etc/group 文件中有一行記錄,任何用戶均可以讀取用戶組賬戶信息配置文件。
字段說明
Groupname:組的名字
Passwd:組的加密口令
GID:是系統區分不同組的 ID,在 /etc/passwd 域中的 GID 字段是用這個數來指定用戶的基本組
Userlist:是用“,”分開的用戶名,列出的成員以該組為附加組。
作業:
1、創建用戶 lockuser, 并指定家目錄為 /home/lock, 然后鎖定該用戶
2、解鎖 lockuser,并設定下次登錄時必須修改密碼
3、創建用戶 testuser 并設置密碼,修改用戶名為 normaluser
4、創建文件,查詢文件的 acl,為文件設置 acl 用戶為 testuser1 權限為 rwx,為文件設置 acl 的 mask: 權限為 r -x
5、設置 suid,為文件設置 suid(兩種方式 u+ s 和 nnnn)的方式
6、設置 sgid, 為文件設置 sgid(兩種方式 g+ s 和 nnnn) 的方式
7、設置 sbit,為目錄設置 sbit(兩種方式 o+ t 和 nnnn) 的方式
Linux 添加用戶至用戶組
通過使用 Linux 命令行的幾個的示例,逐步向你展示如何在 Linux 上將用戶添加到用戶組中,以及如何在 Linux 上添加用戶和組。這些命令應該可以在任何 Linux 發行版上工作,并且已經在 CentOS、Debian 和 Ubuntu 上進行過測試。
添加一個新用戶到用戶組
一個 Linux 用戶可以有一個主組(Primary group)和一個或多個附屬組(Secondary groups)。這些組可以在創建用戶時作為 adduser 命令的參數。
所有命令都必須以 root 用戶的身份執行。在 Ubuntu 上,請在所有命令前加上 sudo,或者運行 sudo -s 切換到 root 用戶。
添加用戶組
作為第一步,我將添加兩個新的用戶組,分別是 family 和 friends:
groupadd family
groupadd friends
添加新用戶至單個用戶組
下面我將一個新用戶 tom,同時將用戶添加到用戶組 family。family 用戶組將通過使用 -G 參數作為一個附屬組添加。
useradd -G family tom
添加新用戶到多個用戶組
tom 現在是 family 用戶組的一個用戶。參數 -G 允許指定多個用戶組,每個用戶組之間使用逗號進行分隔。如果要將用戶 tom 添加到 family 和 friends 兩個用戶組,使用下面的命令:
useradd -G family,friends tom
設置用戶密碼
請注意,新的 Linux 用戶 tom 還沒有密碼,所以無法登錄。要設置此用戶的密碼,可以執行下面的命令:
passwd tom
并在命令請求時輸入兩次新密碼。
在上面的示例中,我們將用戶 tom 添加到輔助組中,adduser 命令自動創建了一個新的主組,并將該組分配為主組。
用戶名: tom
主組: tom
附屬組: family(或者使用第二個案例添加 family 和 friends 兩個附屬組)
設置新的主組
也許你想在添加 tom 用戶時,設置主組為 family(而不是默認創建的 tom 用戶組),附屬組為 friends,可以使用這個命令:
useradd -g family -G friends tom
使用 man 命令可以獲得 useradd 命令的所有命令行選項的詳細描述:
man useradd
將已有的用戶添加至用戶組
對于這個任務,我們將使用 usermod 命令。usermod 命令可以修改用戶的各種選項,包括用戶的組成員關系。
首先,我將添加第三個用戶組 colleagues:
groupadd colleagues
使用 usermod
我將 colleagues 用戶組作為附屬組添加到用戶 tom:
usermod -a -G colleagues tom
命令解釋:-a 表示 append,它只能與 -G 選項(附屬組)組合使用。所以最終我們將 tom 用戶添加到 colleagues 用戶組中,這個用戶組是用戶的一個附屬組。
-G 選項可以指定多個用戶組,每個用戶組之間使用逗號進行分隔。例如:-G group1,group2,group3。
如果想要修改 tom 用戶的主組為 family,可以使用命令:
usermod -g family tom
使用 man 命令可以獲取 usermod 命令的所有命令行選項的詳細說明:
man usermod
讀到這里,這篇“linux 用戶組分為哪些類型”文章已經介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領會,如果想了解更多相關內容的文章,歡迎關注丸趣 TV 行業資訊頻道。