linux用戶群組有2種:1、基本群組 ( 私有群組 );建立帳戶時,若沒有指定帳戶所屬的群組,系統會建立一個和使用者名稱相同的群組,這個組就是基本組。 2.附加組 ( 公有組 ),可容納多個用戶,組中的用戶都具有群組所擁有的權利。
#1、linux下的使用者可以分為3類別
#超級使用者- 使用者名稱為root ,它具有一切權限,只有進行系統維護( 例如:建立使用者等) 或其他必要情形下才用超級使用者登錄,以避免系統出現安全問題。
Linux系統正常運作所需的使用者即為偽使用者(system user)。主要是為了滿足相應的系統程序對文件屬主的要求而建立的,例如: bin 、 daemon 、 adm 、 lp 等用戶。系統使用者不能用來登入。
一般使用者-是為了讓使用者能夠使用Linux系統資源而建立的,我們的大多數使用者屬於此類。
2、linux中的群組有以下兩類:
基本組 ( 私有群組 ) :建立帳戶時,若沒有指定帳戶所屬的群組,系統會建立一個和使用者名稱相同的群組,而這個群組就是基本群組。
附加群組 ( 公有組 ) :可以容納多個用戶,群組中的用戶都具有群組所擁有的權利。
3、linux中用戶群組和用戶的設定檔
在linux中,用戶帳號,密碼、用戶群組訊息,和用戶組密碼是存放在不同的設定檔中的。
檔案功能 | 檔案名稱 |
#使用者帳號檔案 |
|
使用者密碼 | |
使用者群組帳號檔案 | |
使用者群組密碼檔案 |
(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 發行版上運作,並且已經在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
:<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false;">groupadd colleagues</pre><div class="contentsignin">登入後複製</div></div>
使用
usermod我將
usermod -a -G colleagues tom
-G
选项可以指定多个用户组,每个用户组之间使用逗号进行分隔。例如:-G group1,group2,group3
。
如果想要修改 tom
用户的主组为 family
,可以使用命令:
usermod -g family tom
使用 man
命令可以获取 usermod
命令的所有命令行选项的详细说明:
man usermod
以上是linux用戶群組分為哪些類型的詳細內容。更多資訊請關注PHP中文網其他相關文章!