前言
這是我聽老師講課做的筆記,考試要看的。 這是視頻地址
作者:RodmaChen
關注我的csdn博客,更多Linux筆記知識還在更新
Linux用戶和用戶組的創建和管理
一. Linux用戶身份概述
這篇文章會用到幾個常用命令:cat,ll,tail,ls
(不理解cat的可以看我震驚! 面向新手最全面的Linux命令大全出爐了 這篇文章加深Linux命令的使用)。
ll
:查看文件權限
1.1 Linux用戶介紹
- 設計Linux系統的初衷之一就是爲了滿足多個用戶同時工作的需求,因此Linux系統必須具備很好的安全性。
- 安裝centos 7操作系統時,特別要求設置root管理員密碼,這個root管理員就是存在於所有類UNIX系統中的超級用戶。它擁有最高的系統所有權。
- 雖然以root管理員的身份工作時不會受到系統的限制,但“能力越大,責任就越大”,因此一旦使用這個高能的root管理員權限執行了錯誤的命令可能會直接毀掉整個系統。
Linux用戶有以下三類,每一個用戶都有一個數值,稱爲UID
。
超級用戶root | 系統用戶 | 普通用戶 | |
---|---|---|---|
權限 | 具有一切權限 | 爲了滿足相應的系統進程對文件屬主的要求而建立的系統用戶不能用來登錄 | 由管理員賦予的一般權限 |
功能 | 管理系統的各項功能,如添加/刪除用戶、啓動/關閉服務進程、開啓/禁用硬件設備 | 功能:Linux系統正常工作所必需的內建的用戶,例如:bin、daemon、adm、lp等 | 由管理員創建的用於日常工作的用戶 |
UID | 0 | 1~999 | 從1000開始 |
前言
這是我聽老師講課做的筆記,考試要看的。 這是視頻地址
作者:RodmaChen
關注我的csdn博客,更多Linux筆記知識還在更新
1.2 Linux用戶相關文件
- Linux不像Windows 那樣有專門的數據庫用來存放用戶的信息,Linux系統採用純文本文件來保存賬號的各種信息,其中最重要的文件有
/etc/passwd
、/etc/shadow
、/etc/group
這幾個。- 賬號的管理實際上就是對這幾個文件的內容進行添加、修改和刪除記錄行的操作。
- Linux系統爲了自己的安全,缺省情況下只允許超級用戶更改它們。
/etc/passwd |
用戶帳號信息保存在passwd文件中(重要) |
---|---|
/etc/shadow |
用戶的加密口令保存在shadow文件中(重要) |
/home/teacher |
用戶的宿主目錄是home目錄中與用戶名稱相同的目錄 |
/etc/skel |
用戶的初始配置文件來在skel目錄(配置模版) |
/etc/group |
存放關於組的信息(重要) |
1.3 三個重要passwd,shadow,group文件的介紹
- passwd文件
(1)/etc/passwd
文件每一行都表示的是一個用戶的信息;一行有7個段位;每個段位用:
號分割。
(3)每一段的解釋:
賬號名稱 :密碼 : UID : GID : 個人資料 : 主目錄 : Shell
- 第一字段:用戶名(也被稱爲登錄名)
- 第二字段:密碼;在例子中我們看到的是一個
x
,其實密碼已被映射到/etc/shadow 文件中- 第三字段:UID ;用戶ID
- 第四字段:GID;用戶組的ID
- 第五字段:用戶名全稱,這是可選的
- 第六字段:用戶的家目錄所在位置;root 這個用戶的家目錄是/root
- 第七字段:用戶所用SHELL 的類型,root用的是 bash ;所以設置爲/bin/bash
- shadow文件
(1)在/etc/passwd文件中,有一個字段是用來存放經過加密的密碼。我們先來看以下passwd文件的權限。
(2)可以看到任何用戶對它都有讀的權限。爲了保證系統的正常運行和安全,Linux系統對密碼提供了更多一層的保護,即把加密後的密碼重定向到另一個文件/etc/shadow。
(3)Shadow文件一共有9個字段來表示跟密碼有關的部分,每個字段用“:
”來分隔。
(4)每一段的解釋
用戶名:密碼:最後一次修改時間:最小時間間隔:最大時間間隔:警告時間:不活動時間:失效時間:標誌字段說明
- 用戶名:和/etc/passwd文件中相對應的用戶名。
- 密碼:存放加密後的口令(密碼)。密碼字段爲“*”表示用戶被禁止登錄,爲“!!”表示密碼未設置,爲“!”表示用戶被鎖定。
- 最後一次修改時間:用戶最後一次修改口令的時間(從1970-1-1起計的天數)。
- 最小時間間隔:兩次修改口令允許的最小天數。
- 最大時間間隔:口令保持有效的最多天數,即多少天后必須修改口令。
- 警告時間:從系統提前警告到口令正式失效的天數。
- 不活動時間:口令過期多少天后,該賬號被禁用。
- 失效時間:指示口令失效的絕對天數(從1970-1-1開始計算)。
- 標誌:未使用。
- group文件
(1)Linux的組有私有組、系統組、標準組之分。
- 私有組:建立賬戶時,若沒有指定賬戶所屬的組,系統會建立一個組名和用戶名相同的組,這個組就是私有組,這個組只容納了一個用戶。
- 標準組:可以容納多個用戶,組中的用戶都具有組所擁有的權利。
- 系統組:Linux系統正常運行所必需的,安裝Linux系統或添加新的軟件包會自動建立系統組。
(2 )組名:組的密碼:GID:組成員
注:組的密碼:設置加入組的密碼,一般情況下不使用組密碼,該字段通常沒用
二. 創建Linux用戶
2.1 添加Linux用戶——adduser /useradd
-
使用
adduser /useradd
命令創建用戶賬戶時,默認的用戶家目錄會被存放在/home
目錄中,默認的Shell
解釋
器爲/bin/bash
,而且默認會創建一個與該用戶同名的基本用戶組。 -
語法格式:useradd [選項] 用戶名
-
常用選項:
命令 | 功能 |
---|---|
-e |
賬戶的到期時間,格式爲YYYY-MM-DD |
-u |
指定該用戶的默認UID |
-d |
指定用戶的家目錄(默認爲/home/username) |
-g |
指定一個初始的已存在用戶基本組 |
-G |
指定一個或多個擴展用戶組 |
-N |
不創建與用戶同名的基本用戶組 |
-s |
指定該用戶的默認Shell解釋器 |
- 實列:在系統中添加Linux用戶test,觀察添加用戶後系統有什麼變化?
(1)在/etc/passwd
文件中會看到增加了一行:
(2)在home目錄下出現test同名宿主目錄,test對/home/test
目錄有所有權限,其他
用戶無任何權限。
(3)在/etc/group
文件中也會增加一行:
(4)在/etc/shadow
文件中也會增加一行:
2.2 設置Linux用戶密碼——passwd
-
passwd命令
用於修改用戶密碼、過期時間、認證信息等 -
普通用戶只能使用passwd命令修改自身的系統密碼,而root管理員則有權限修改其他所有人的密碼。更酷的是,root管理員在Linux系統中修改自己或他人的密碼時不需要驗證舊密碼,這一點特別方便。
-
語法格式:passwd [選項] [用戶名]
-
常用選項:
命令 | 功能 |
---|---|
-d |
使該用戶可用空密碼登錄系統 |
-l |
鎖定用戶,禁止其登錄 |
-u |
解除鎖定,允許用戶登錄 |
-S |
顯示用戶的密碼是否被鎖定,以及密碼所採用的加密算法名稱 |
5.列
三. 管理Linux用戶
3.1 設置Linux用戶賬號——usermod
-
usermod命令:
用於修改用戶的屬性
。用戶的信息保存在/etc/passwd
文件中,可以直接用文本編輯器來修改其中的用戶參數項目,也可以用usermod命令修改已經創建的用戶信息,諸如用戶的UID、基本/擴展用戶組、默認終端等。 -
語法格式:usermod [選項] 用戶名
-
常用選項:
選 項 | 功 能 |
---|---|
-c | comment 改變用戶的註釋,如:全名、地址、辦公室電話、家庭電話等 |
-d | dir 改變用戶的主目錄 |
-e | YYYY-MM-DD 修改用戶的有效日期 |
-L |
鎖定用戶密碼,使密碼無效。鎖定用戶禁止其登錄系統 (常用) |
-U |
解除密碼鎖定,解鎖用戶,允許其登錄系統(常用) |
-f days | 在密碼到期的days天后停止使用賬戶 |
-g GID或組名 |
修改用戶的所屬基本組(常用) |
-G |
變更擴展用戶組(常用) |
-l | name 更改賬戶的名稱,必須在該用戶未登錄的情況下才能使用 |
-p | 密碼 修改用戶的密碼 |
-s Shell | 修改用戶的登錄Shell |
-u UID | 改變用戶的UID爲新的值,改變用戶的UID時主目錄下所有該 用戶所擁有的文件或子目錄將自動更改UID,但對於主目錄之 外的文件和目錄只能用chown命令手工進行設置 |
3.2 刪除Linux用戶賬號—— userdel
-
語法格式:userdel [選項] 用戶名
-
常用選項:
選項 | 功能 |
---|---|
-f |
強制刪除用戶 |
-r |
刪除用戶時將用戶主目錄下的所有內容一併刪除,同時刪除用戶的郵箱,對於用戶在別的目錄下所擁有的文件只能手工刪除 |
- 如果我們確認某位用戶後續不再會登錄到系統中,則可以通過userdel命令刪除該用戶的所有信息。在執行刪除操作時,該用戶的家目錄默認會保留下來,此時可以使用
-r
參數將其刪除。
四. 創建與管理Linux用戶組
4.1 創建Linux用戶組——groupadd
-
爲了能夠更加高效地指派系統中各個用戶的權限,在工作中常常會把幾個用戶加入到同一個組裏面,這樣便可以針對一類用戶統一安排權限。
-
語法格式:groupadd [選項] 羣組名
-
常用選項:
選項 | 功能 |
---|---|
-g GID |
指定新組的GID,默認值是已有的最大的GID加1 |
-r |
建立一個系統專用組,與-g不同時使用時,則分配一個1~999的GID |
-
列:
[root @localhost /root]#groupadd -g 1000 group1
表示添加一個新組,組ID爲1000**,組名**爲group1
-
注意:上面已經介紹了普通用戶
UID
是從1000開始的
4.2 管理Linux用戶組——groupmod
-
groupmod命令 :用於修改組的屬性
-
語法格式:groupmod [選項] 羣組名
-
常用選項:
選項 功能 -g GID 指定組新的GID -n name 更改組的名字爲name
4.3 刪除Linux用戶組—— groupdel
-
groupdel命令:刪除指定名稱的用戶組帳號
-
語法格式:groupdel 羣組名
-
注意!:需要從系統上刪除羣組時,可用groupdel指令來完成這項工作。倘若該羣組中仍包括某些用戶,則必須先刪除這些用戶後(刪除用戶上面說明了),方能刪除羣組。
五.不懂就問
本人小白第一次學Linux,事情是這樣的,我之前測試時候創建了一個test文件(我也忘記是用戶還是文件了,反正使用 userdel -r
刪除不了),然後我使用 rm -rf
刪除了文件test,可是還是不能使用adduser
創建test用戶,提示用戶已存在。
然後在我嘗試刪除也不行
用tail
查看也沒有發現這個用戶
有時候就查得到。。。。。。很奇葩
然後我添加一個test2用戶,查了一下test又不見了,UID也是1001正常
可是就是不能創建用戶test了。應該是我之前刪除
百度說應該是刪除的不夠徹底,請教路過的大佬這種情況應該如何解決。
本人博客:https://blog.csdn.net/weixin_46654114
本人b站求關注:https://space.bilibili.com/391105864
轉載說明:跟我說明,務必註明來源,附帶本人博客連接。
請給我點個贊鼓勵我吧