Linux之用戶和用戶組的深入了解

目錄

一、簡介

1.1、用戶:

1.2、用戶組

1.3、UID和GID

1.3、用戶賬戶分類

查看用戶類別

超級用戶root(0)

程序用戶(1~499)

普通用戶(500~65535)

二、用戶

2.1、添加新的用戶賬號:useradd

2.2、刪除賬號:userdel

有-r與沒有-r區別

2.3、修改帳號:usermod(mod=modify)

2.4、用戶口令的管理:passwd

2.5、切換用戶:su

三、用戶組

3.1、增加一個用戶組:groupadd

3.2、groupdel 刪除組

3.3、groupmod 修改組

3.4、newgrp切換

四、用戶賬號系統文件

4.1、/ete/passwd

1、“用戶名”是代表用戶賬號的字符串。

2、“口令”一些系統中,存放著加密后的用戶口令字。

3、“用戶標識號”是一個整數,系統內部用它來標識用戶。

4、“組標識號”字段記錄的是用戶所屬的用戶組。

5、“注釋性描述”字段記錄用戶的一些個人情況。

6、“主目錄”,也就是用戶的起始工作目錄。

7、

8、系統中有一類用戶稱為偽用戶(rseudo users)。

4.2、/etc/shadow

4.3、/etc/group


一、簡介

1.1、用戶

如果要使用系統資源,就必須向系統管理員申請一個賬號,然后通過這個賬號進入系統,這個賬號即用戶,用戶又有不同的權限,經理有增刪改查的權限,組長沒有新增表權限,普通用戶只能看

1.2、用戶組

linux系統中的用戶組(group)就是具有相同特性的用戶(user)集合

1.3、UID和GID

即用戶ID和組ID


1.3、用戶賬戶分類

查看用戶類別

cat /etc/passwd


超級用戶root(0)

默認是root用戶,其UID和GID均為0.在每臺unix/inux操作系統中都是唯一且真實存在的,通過它可以登錄系統,可以操作系統中任何文件和命命,擁有最高的管理權限。在生產環境,一般禁止root賬號遠程登錄SSH連接服務器,以加強系統安全


程序用戶(1~499)

與真實用戶區分開來,這類用戶的最大特點是安裝系統后默認就會存在的,且默認情況不能登錄系統,它們是系統正常運行必不可少的,他們的存在主要是方便系統管理,滿足相應的系統進程都文件屬主的要求。例如系統默認的bin、adm、nodoby、ma用戶等。由于服務器角色的不同,有部分用不到的系統服務被禁止開機執行。因此,在做系統安全優化時,被禁止開機后動了的服務對應的虛擬用戶也是可以處理掉的(刪除或注釋)


普通用戶(500~65535)

這類用戶一般是由具備系統管理員root的權限的運維人員添加的

二、用戶

2.1、添加新的用戶賬號:useradd

注:只要創建目錄必定有home家這個文件夾

1.添加新的用戶賬號:
useradd 選項 用戶名
參數說明:選項:
-c? commert 指定一段注釋性描述(加注釋)。
-d 目錄 指定指定創建用戶主目錄(切換主目錄),如果此目錄指定,則自動在根目錄下創建同名的文件夾。
-g 用戶組 指定用戶所屬的用戶組
-G 用戶組,用戶組 指定用戶所屬的附加組
-s?Shell? 文件 指定用戶的登錄Shell(shell腳本的執行命令

注:開發中正常是100多兆的jdk,能做出10兆的jdk,區別100兆的用的是bin\bash,10兆、bin/sh是建議版,實例2可以改


-u? 用戶號 指定用戶的用戶號,如果同時有一選項,則可以重復使用其他用戶的標識
用戶名:
指定新賬號的登錄名


示例1:

useradd -d  /home/sam  -m sam2

此命令創建了一個用戶sam2,其中-d和-選項用來為登錄名sam2產生一個主目錄/home/sam(/home為默認的用戶主目錄所在的父目錄)

用戶目錄和home家目錄可以不一致


示例2:

useradd -s /bin/sh -g group -G adm root gem

此命令新建了一個用戶gem,該用戶的登錄Shell是/bin/sh,它屬于grop用戶組,同時又屬于adm和root用戶組,其中group用戶組是其主組。這里可能新建組:#groupadd group及groupadd adm
注1:增加用戶賬號就是在/etc/passmd文件中為新用戶增加一條記錄,同時更新其他系統文件如/etc/shadow,/etc/groupp等。注2:Limx提供了集成的系統管理工具userconf,它可以用來對用戶賬號進行統一管理

2.2、刪除賬號:userdel


如果一個用戶的賬號不再使用,可以從系統中刪除。剛除用戶賬號就是要將/ete/passwd等系統文件中的該用戶記錄刪除,必要時還刪除用戶的主目錄
userdel 選項 用戶名常用的選項是-r,它的作用是把用戶的主目錄一起刪除
示例1:
userdel -r sam此命令刪除用戶sam在系統文件中(主要是/etc/passwd,/etc/shadow,/etc/group等)的記錄,同時刪除用戶的主目錄

有-r與沒有-r區別

-r有,會連帶home家也刪除

沒有-r:?如果家里面還有重要的東西,只是不能登錄


2.3、修改帳號:usermod(mod=modify)


修改用戶賬號就是根據實際情況更改用戶的有關屬性,如用戶號、主目錄、用戶組、登
錄Shel1等
usermod 選項 用戶名
常用的選項包括-,-d,-m,-%,-G,-s,-u以及一等,這些選項的意義與useradd命令中的選項一樣,可以為用戶指定新的資源值。另外,有些系統可以使用選項:-新用戶名這個選項指定一個新的賬號,即將原來的用戶名改為新的用戶名。


示例1:

usermod -s /bin/sh-d /home/z -g developer sam2

此命令將用戶sam的登錄Shell修改為ksh,主目錄改為/home/z,用戶組改為developer

2.4、用戶口令的管理:passwd

passwd 選項 用戶名

選項:
-l 鎖定口令,即禁用賬號。
u 口令解鎖。

-d 使賬號無口令。

-f 強迫用戶下次登錄時修改口令。如果默認用戶名,則修改當前用戶的口令


示例1:修改密碼例如,假設當前用戶是sam,則下面的命令修改該用戶自己的口令passwdóld password:******
New password:******
Re-enter new password:***
超級用戶,可以用下列形式指定任何用戶的口令passwd sam[ew password:*****
Re-enter new password:***


注1:普通用戶修改自己的口令時,passmd命令會先詢問原口令,驗證后再要求用戶輸入兩遍新口令,如果兩次輸入的口令一致,則將這個口令指定給用戶;而超級用戶為用戶指定口令時,就不需要知道原口令


示例2:用戶指定空口令時
登錄了
passwd -d sam此命令將用戶 sam 的口令刪除,這樣用戶 sam 下一次登錄時,系統就不再允許該用戶
示例3:passwd 命令還可以用 -1(1ock)選項鎖定某一用戶,使其不能登錄,解鎖用-passwd -l sam

2.5、切換用戶:su

su? 用戶名


?

登出
exit
logout

Ctrl+d

三、用戶組

3.1、增加一個用戶組:groupadd


groupadd 選項 用戶組
選項有:
-g GI55D 指定新用戶組的組標識號(G)。
-0一般與~選項同時使用,表示新用戶組的GD可以與系統已有用戶組的GD相同。
groupadd


示例1:

#創建組
groupadd group1#查看組
groupadd /etc/group

這樣創建組,gid是隨機分配的?

組標識號=gid

此命令向系統中增加了一個新組groupl,新組的組標識號是在當前已有的最大組標識號的基礎上加1。


示例2:
?

groupadd -g 101 group2

這樣創建組,gid指定

此命令向系統中增加了一個新組group2,同時指定新組的組標識號是101。


3.2、groupdel 刪除組
?

groupdel group1

如果要刪除一個已有的用戶組,使用gropde1命令groupdel 用戶組示例1:

3.3、groupmod 修改組


修改用戶組的屬性

groupmod 選項 用戶組
常用的選項有:

-g GID 為用戶組指定新的組標識號。

-o與-g選項同時使用,用戶組的新GD可以與系統已有用戶組的GD相同。

-n新用戶組 將用戶組的名字改為新名字
示例1:
?

groupmod? -g 102 group2?

此命令將組group2的組標識號修改為102


示例2:

groupmod? -g 10000 -n? group3? group2

此命令將組group2的標識號改為10000,組名修改為group3

3.4、newgrp切換

如果一個用戶同時屬于多個用戶組,那么用戶可以在用戶組之間切換用戶可以在登錄后,使用命令newgrp切換到其他用戶組,這個命令的參數就是目的用戶組示例1:
?

newgrp root

四、用戶賬號系統文件

4.1、/ete/passwd

/ete/passwd文件是用戶管理工作學及的最重費的一個文件。

cat??/etc/passwd



從上面的例子我們可以看到,/etc/passwd中一行記錄對應著一個用戶,每行記錄又被冒號(:)分隔為7個字段,其格式和具體含義如下:
用戶名:口令:用戶標識號:組標識號:注釋性描述:主目錄:登錄Shell


1、“用戶名”是代表用戶賬號的字符串。

通常長度不超過8個字符,并且由大小寫字母和/或數字組成。登錄名中不能有冒號(:),因為冒號在這里是分隔符。
頭。
為了兼容起見,登錄名中最好不要包含點字符(.),并且不使用連字符(-)和加號(+)打頭。


2、“口令”一些系統中,存放著加密后的用戶口令字。

雖然這個字段存放的只是用戶口令的加密串,不是明文,但是由于/etc/passwd文件對所有用戶都可讀,所以這仍是一個安全隱患。因此,現在許多Limx 系統(如SWR4)都使用了shadow技術,把真正的加密后的用戶口令字存放到/etc/shadow文件中,而在/etc/passwd文件的口令字段中只存放一個特殊的字符,例如“x”或“*”。


3、“用戶標識號”是一個整數,系統內部用它來標識用戶。

一般情況下它與用戶名是一一對應的。如果幾個用戶名對應的用戶標識號是一樣的,系統內部將把它們視為同一個用戶,但是它們可以有不同的口令、不同的主目錄以及不同的登錄She11等。
通常用戶標識號的取值范圍是0~65 535。0是超級用戶root的標識號,1~99由系統保留,作為管理賬號,普通用戶的標識號從100開始。在Lirx系統中,這個界限是500。


4、“組標識號”字段記錄的是用戶所屬的用戶組。


它對應著/etc/group文件中的一條記錄。


5、“注釋性描述”字段記錄用戶的一些個人情況。

造個全憤舜。例如用戶的真實姓名、電話、地址等,系統中,這個字段的格式并沒有什么實際的用途。在不同的Linux系統中,這個字段存放的是一段任意的注釋性描述文字,用做finger命令的輸出。


6、“主目錄”,也就是用戶的起始工作目錄。

它是用戶在登錄到系統之后所處的目錄。在大多數系統中,各用戶的主目錄都被組織在同一個特定的目錄下,而用戶主目錄的名稱就是該用戶的登錄名。各用戶對自己的主目錄有讀、寫、執行(搜索)權限,其他用戶對此目錄的訪問權限則根據具體情況設置。


7、

用戶登錄后,要啟動一個進程,負責將用戶的操作傳給內核,這個進程是用戶登錄到系統后運行的命令解釋器或某個特定的程序,即she11°She11是用戶與Limux系統之間的接口。Limux的She11有許多種,每種都有不同的特點。

常用的有sh(Boume Shell),csh(C?Shell),ksh(Kom Shell),tcsh(TENEX/TOPS-20 type CShell),bash(Bourne Again Shell)等。


系統管理員可以根據系統情況和用戶習慣為用戶指定某個Shell。如果不指定Shell,那么系統使用sh為默認的登錄Shell,即這個字段的值為/bin/sh。


用戶的登錄shell也可以指定為某個特定的程序(此程序不是一個命令解釋器)。


利用這一特點,我們可以限制用戶只能運行指定的應用程序,在該應用程序運行結束后,用戶就自動退出了系統。有些Limnux 系統要求只有那些在系統中登記了的程序才能出現在這個字段中.


8、系統中有一類用戶稱為偽用戶(rseudo users)。

這些用戶在/etc/asswd文件中也占有一條記錄,但是不能登錄,因為它們的登錄Shell為空。它們的存在主要是方便系統管理,滿足相應的系統進程對文件屬主的要求。


常見的偽用戶如下所示

偽用戶含義:

bin 擁有可執行的用戶命令文件
sys 擁有系統文件adm 擁有帳戶文件
umcp UUCP使用
lp lp或lpd子系統使用

nobody NFS使用

4.2、/etc/shadow


/ete/shadow中的記錄行與/etc/passwd中的一一對應,它由pwconv命令根據/etc/passwd中的數據自動產生,它的文件格式與/etc/passwd類似,由若干個字段成,字股之同用”:“隔開。這些字段是

登錄名:加密口令:最后一次修改時間:最小時間間隔:最大時間間隔:警告時間:不活動時間:失效時間:標志格式說明:"登錄名"是與/etc/passwd文件中的登錄名相一致的用戶賬號"口令”字段存放的是加密后的用戶口令字,長度為13個字符。如果為空,則對應用戶沒有口令,登錄時不需要口令;如果含有不屬于集合{./0-9A-a-z}中的字符,則對應的用戶不能登錄。”最后一次修改時間”表示的是從某個時刻起,到用戶最后一次修改口令時的天數。時間起點對不同的系統可能不一樣。例如在9c0 Limu 中,這個時間起點是1970年1月1日。

"最小時間間隔"指的是兩次修改口令之間所需的最小天數。

最大時間間隔"指的是口令保持有效的最大天數。
"警告時間”字段表示的是從系統開始警告用戶到用戶密碼正式失效之間的天數。

不活動時間"表示的是用戶沒有登錄活動但賬號仍能保持有效的最大天數。

"失效時間”字段給出的是一個絕對的天數,如果使用了這個字段,那么就給出相應賬號的生存期。期滿后,該賬號就不再是一個合法的賬號,也就不能再用來登錄了。
cat /etc/shadow

4.3、/etc/group

用戶組的所有信息都存放在/etc/grovp文件中,將用戶分組是Limx 系統中對用戶進行管理及控制訪問權限的一種手段。

每個用戶都屬于某個用戶組;一個組中可以有多個用戶,一個用戶也可以屬于不同的組。

當一個用戶同時是多個組中的成員時,在/etc/passwd文件中記錄的是用戶所屬的主組,也就是登錄時所屬的默認組,而其他組稱為附加組。

用戶要訪問屬于附加組的文件時,必須首先使用newgrp命令使自己成為所要訪問的組中的成員 。
用戶組的所有信息都存放在/etc/group文件中。此文件的格式也類似于/etc/passwd文件,由冒號(:)隔開若干個字段,
這些字段有:
組名:口令:組標識號:組內用戶列表


格式說明:

"組名”是用戶組的名稱,由字母或數字構成。與/etc/passwd中的登錄名一樣,組名不應
重復。

“口令”字段存放的是用戶組加密后的口令字。一般Limnu 系統的用戶組都沒有口令,即這個字段一般為空,或者是*。

"組標識號”與用戶標識號類似,也是一個整數,被系統內部用來標識組。

"組內用戶列表”是屬于這個組的所有用戶的列表兒],不同用戶之間用逗號(,)分隔。這個用戶組可能是用戶的主組,也可能是附加組。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/696811.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/696811.shtml
英文地址,請注明出處:http://en.pswp.cn/news/696811.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

OSDI 2023: Hyrax Fail-in-Place Server Operation in Cloud Platforms

我們使用以下6個分類標準對本文的研究選題進行分析: 1. 硬件故障類型 DRAM: 此類別涉及研究如何處理內存相關的錯誤。這包括單比特錯誤,使用傳統 ECC 進行校正,以及需要冗余、修復技術或隔離故障內存區域的更廣泛的故障。磁盤: 此處研究將解決存儲故障,尤其是 SSD 中的故障…

運維07:堡壘機

什么是跳板機 跳板機就是一臺服務器而已,運維人員在使用管理服務器的時候,必須先連接上跳板機,然后才能去操控內網中的服務器,才能登錄到目標設備上進行維護和操作 開發小張 ---> 登錄跳板機 ---> 再登錄開發服務器 測試…

貸齊樂系統最新版SQL注入(無需登錄繞過WAF可union select跨表查詢)

一、環境 已上傳資源(daiqile) 二、代碼解釋 1.1Request 不管get請求還是post請求都可以接收到 1.2過濾的還挺多 1.3第二個WAF把數據分為兩個了一個Key一個value,全是explode的功勞 1.4submit是if進入的前提 很明顯走進來了 1.5那我們在這…

學習JAVA的第三天(基礎)

目錄 流程控制語句 順序結構 分支結構 循環結構 分類: 練習 跳轉控制語句 練習 數組 數組介紹 數組的定義和靜態初始化 數組定義 數組的靜態初始化 數組元素訪問 數組遍歷 數組動態初始化 JAVA內存分配 流程控制語句 順序結構 是Java程序默認的執行流程…

UIKit 在 UICollectionView 中拖放交換 Cell 視圖的極簡實現

概覽 UIKit 中的 UICollectionView 視圖是我們顯示多列集合數據的不二選擇,而豐富多彩的交互操作更是我們選擇 UICollectionView 視圖的另一個重要原因。 如上圖所示:我們實現了在 UICollectionView 中拖放交換任意兩個 Cell 子視圖的功能,這…

js如何判斷一個對象中某一個屬性存在并且有值

在JavaScript中,可以使用不同的方法來判斷一個對象中某個屬性是否存在并且有值。以下是幾種常見的方法: 1、使用hasOwnProperty()方法:該方法用于檢查對象是否具有指定的屬性。可以通過以下方式來判斷屬性是否存在并且有值: if (…

整理了去年的一些運維面試題一

Ingress的yaml文件需要包含哪些? CICD搭建流程? JAVA程序打包工具? 如何檢測Linux端口如何通信? k8s集群之間如何通信的? docker組成部分? 20位掩碼有多少主機IP? 在linux中四個T的硬盤使用什…

Zabbix 遠程監控主機

目錄 1、安裝 Zabbix 安裝客戶端 服務端測試通訊 Web頁面添加主機 2、監控 Nginx 自定義腳本監控 Nginx web配置臺 3、監控 MySQL 配置模版文件 配置Web界面 1、安裝 Zabbix node-12 作為zabbix的被監控端,提供mysql服務器,配置zabbix監控node…

jquery寫組件滑動人機驗證組件

jquery組件,雖然 jquery 語法古老,但是寫好了用起來真的很爽啊,本文用滑動人機驗證給大家做個詳細教程(直接復制代碼就可以用噢o(* ̄▽ ̄*)ブ) 第一步 先看下組件本身 component.js (function() {…

Nginx網絡服務三-----(三方模塊和內置變量)

1.驗證模塊 需要輸入用戶名和密碼 我們要用htpasswd這個命令,先安裝一下httpd 生成文件和用戶 修改文件 訪問頁面 為什么找不到頁面? 對應的路徑下,沒有這個文件 去創建文件 去虛擬機瀏覽器查看 有的頁面不想被別人看到,可以做…

【UI自動化】使用poco框架進行元素唯一定位

直接選擇: 1.poco(text買入).click() 2.poco("android.widget.ImageView").click()相對選擇、空間選擇: 3.poco(text/name).parent().child()[0].click()正則表達式: 4.listpoco(textMatches".*ETF")今天主要想記錄下…

centos 系統盤 放到 win pc 中的異常解決

有一塊 2.5 480g sata ssd,之前是筆記本電腦的centos系統盤,后來沒用了,打算掛到臺式機上當下載盤。臺式機pc的主板是華碩 h610m-a。 難點一: 因為臺式pc上已經掛了兩塊3.5 hdd,發現sata的電源線都在3.5hdd附近&#…

利用RBI(Remote Browser Isolation)技術訪問ChatGPT

系統組網圖 #mermaid-svg-Bza2puvd8MudMbqR {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-Bza2puvd8MudMbqR .error-icon{fill:#552222;}#mermaid-svg-Bza2puvd8MudMbqR .error-text{fill:#552222;stroke:#552222;…

300分鐘吃透分布式緩存-10講:MC是怎么定位key的?

我們在進行 Mc 架構剖析時,除了學習 Mc 的系統架構、網絡模型、狀態機外,還對 Mc 的 slab 分配、Hashtable、LRU 有了簡單的了解。本節課,將進一步深入學習這些知識點。 接下來,進入 Memcached 進階的學習。會講解 Mc 是如何進行…

QT應用軟件【協議篇】周立功CAN接口卡代碼示例

文章目錄 USBCAN系列CAN接口卡規格參數資料下載QT引用周立功的庫安裝sdk代碼USBCAN系列CAN接口卡 USBCAN系列CAN接口卡兼容USB2.0全速規范,可支持1/2/4/8路CAN接口。采用該接口卡,PC機可通過USB連入CAN網絡,進行CAN總線數據采集和處理,主要具備以下幾大優勢特點: 支持車載…

正交匹配追蹤(Orthogonal Matching Pursuit, OMP)的MATLAB實現

壓縮感知(Compressed Sensing, CS)是一種利用稀疏信號的先驗知識,用遠少于奈奎斯特采樣定理要求的樣本數目恢復整個信號的技術。正交匹配追蹤(Orthogonal Matching Pursuit, OMP)是一種常見的貪婪算法(Gree…

【CF】團隊訓練賽2 J-Palindrome Reversion 題解

傳送門:Palindrome Reversion 標簽:字符串 題目大意 規定一個操作:選擇字符串中的一段區間[l,r]并使其翻轉。現在給出一個字符串s,你要判斷能否通過一次操作使其變為回文串。 輸入:一個字符串,其長度不超…

在蘋果電腦MAC上安裝Windows10(雙系統安裝的詳細圖文步驟教程)

在蘋果電腦MAC上安裝Windows10(雙系統安裝的詳細圖文步驟教程) 一、準備工作準備項1:U盤作為系統安裝盤準備項2:您需要安裝的系統鏡像 二、啟動轉換助理步驟1:找到啟動轉換助理步驟2:啟動轉換助理步驟3&…

波奇學Linux:進程通信管道

進程通信 管道:基于文件級別的單向通信 創建父子進程,使得進程的struct file*fd_array[]的文件描述符指向同一個struct file文件,這個文件是內存級文件。 父進程關寫端,子進程再關閉讀端。實現單向通信 子進程寫入,父進…

Java面向對象(三)

一、封裝: 一般意義的封裝:把一段重復代碼抽取成一個函數,稱為代碼的封裝(包裝)面向對象語言的封裝:將類的某些信息隱藏在類的內部(通過使用不同的訪問權限修飾符),不許…