Linux用戶和用戶組的創建和管理


 

一. Linux用戶身份概述

這篇文章會用到幾個常用命令:cat,ll,tail,ls(不理解cat的可以看我震驚! 面向新手最全面的Linux命令大全出爐了 這篇文章加深Linux命令的使用)。

ll:查看文件權限

1.1 Linux用戶介紹

  1. 設計Linux系統的初衷之一就是為了滿足多個用戶同時工作的需求,因此Linux系統必須具備很好的安全性。
  2. 安裝centos 7操作系統時,特別要求設置root管理員密碼,這個root管理員就是存在於所有類UNIX系統中的超級用戶。它擁有最高的系統所有權。
  3. 雖然以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文件的介紹

  1. passwd文件

(1)/etc/passwd 文件每一行都表示的是一個用戶的信息;一行有7個段位;每個段位用:號分割。

在這里插入圖片描述

(3)每一段的解釋:

賬號名稱 :密碼 : UID : GID : 個人資料 : 主目錄 : Shell

在這里插入圖片描述

  • 第一字段:用戶名(也被稱為登錄名)
  • 第二字段:密碼;在例子中我們看到的是一個x,其實密碼已被映射到/etc/shadow 文件中
  • 第三字段:UID ;用戶ID
  • 第四字段:GID;用戶組的ID
  • 第五字段:用戶名全稱,這是可選的
  • 第六字段:用戶的家目錄所在位置;root 這個用戶的家目錄是/root
  • 第七字段:用戶所用SHELL 的類型,root用的是 bash ;所以設置為/bin/bash
  1. shadow文件

(1)在/etc/passwd文件中,有一個字段是用來存放經過加密的密碼。我們先來看以下passwd文件的權限。

在這里插入圖片描述

(2)可以看到任何用戶對它都有讀的權限。為了保證系統的正常運行和安全,Linux系統對密碼提供了更多一層的保護,即把加密后的密碼重定向到另一個文件/etc/shadow。

在這里插入圖片描述

(3)Shadow文件一共有9個字段來表示跟密碼有關的部分,每個字段用“”來分隔。

在這里插入圖片描述

(4)每一段的解釋

用戶名:密碼:最后一次修改時間:最小時間間隔:最大時間間隔:警告時間:不活動時間:失效時間:標志字段說明

在這里插入圖片描述

  • 用戶名:和/etc/passwd文件中相對應的用戶名。
  • 密碼:存放加密后的口令(密碼)。密碼字段為“*”表示用戶被禁止登錄,為“!!”表示密碼未設置,為“!”表示用戶被鎖定。
  • 最后一次修改時間:用戶最后一次修改口令的時間(從1970-1-1起計的天數)。
  • 最小時間間隔:兩次修改口令允許的最小天數。
  • 最大時間間隔:口令保持有效的最多天數,即多少天后必須修改口令。
  • 警告時間:從系統提前警告到口令正式失效的天數。
  • 不活動時間:口令過期多少天后,該賬號被禁用。
  • 失效時間:指示口令失效的絕對天數(從1970-1-1開始計算)。
  • 標志:未使用。
  1. group文件

(1)Linux的組有私有組、系統組、標准組之分。

  • 私有組:建立賬戶時,若沒有指定賬戶所屬的組,系統會建立一個組名和用戶名相同的組,這個組就是私有組,這個組只容納了一個用戶。
  • 標准組:可以容納多個用戶,組中的用戶都具有組所擁有的權利。
  • 系統組:Linux系統正常運行所必需的,安裝Linux系統或添加新的軟件包會自動建立系統組。

(2 )組名:組的密碼:GID:組成員

在這里插入圖片描述

注:組的密碼:設置加入組的密碼,一般情況下不使用組密碼,該字段通常沒用

二. 創建Linux用戶

2.1 添加Linux用戶——adduser /useradd

  1. 使用adduser /useradd命令創建用戶賬戶時,默認的用戶家目錄會被存放在/home目錄中,默認的Shell解釋
    器為/bin/bash,而且默認會創建一個與該用戶同名的基本用戶組。

  2. 語法格式:useradd [選項] 用戶名

  3. 常用選項:

命令 功能
-e 賬戶的到期時間,格式為YYYY-MM-DD
-u 指定該用戶的默認UID
-d 指定用戶的家目錄(默認為/home/username)
-g 指定一個初始的已存在用戶基本組
-G 指定一個或多個擴展用戶組
-N 不創建與用戶同名的基本用戶組
-s 指定該用戶的默認Shell解釋器
  1. 實列:在系統中添加Linux用戶test,觀察添加用戶后系統有什么變化?

在這里插入圖片描述

(1)在/etc/passwd文件中會看到增加了一行:

在這里插入圖片描述
(2)在home目錄下出現test同名宿主目錄,test對/home/test目錄有所有權限,其他
用戶無任何權限。

在這里插入圖片描述
(3)在/etc/group文件中也會增加一行:
在這里插入圖片描述

(4)在/etc/shadow文件中也會增加一行:
在這里插入圖片描述

2.2 設置Linux用戶密碼——passwd

  1. passwd命令用於修改用戶密碼、過期時間、認證信息等

  2. 普通用戶只能使用passwd命令修改自身的系統密碼,而root管理員則有權限修改其他所有人的密碼。更酷的是,root管理員在Linux系統中修改自己或他人的密碼時不需要驗證舊密碼,這一點特別方便。

  3. 語法格式:passwd [選項] [用戶名]

  4. 常用選項:

命令 功能
-d 使該用戶可用空密碼登錄系統
-l 鎖定用戶,禁止其登錄
-u 解除鎖定,允許用戶登錄
-S 顯示用戶的密碼是否被鎖定,以及密碼所采用的加密算法名稱

5.列

三. 管理Linux用戶

3.1 設置Linux用戶賬號——usermod

  1. usermod命令:用於修改用戶的屬性。用戶的信息保存在/etc/passwd文件中,可以直接用文本編輯器來修改其中的用戶參數項目,也可以用usermod命令修改已經創建的用戶信息,諸如用戶的UID、基本/擴展用戶組、默認終端等。

  2. 語法格式:usermod [選項] 用戶名

  3. 常用選項:

選 項 功 能
-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

  1. 語法格式:userdel [選項] 用戶名

  2. 常用選項:

選項 功能
-f 強制刪除用戶
-r 刪除用戶時將用戶主目錄下的所有內容一並刪除,同時刪除用戶的郵箱,對於用戶在別的目錄下所擁有的文件只能手工刪除
  1. 如果我們確認某位用戶后續不再會登錄到系統中,則可以通過userdel命令刪除該用戶的所有信息。在執行刪除操作時,該用戶的家目錄默認會保留下來,此時可以使用-r參數將其刪除。

 

四. 創建與管理Linux用戶組

4.1 創建Linux用戶組——groupadd

  1. 為了能夠更加高效地指派系統中各個用戶的權限,在工作中常常會把幾個用戶加入到同一個組里面,這樣便可以針對一類用戶統一安排權限。

  2. 語法格式:groupadd [選項] 群組名

  3. 常用選項:

選項 功能
-g GID 指定新組的GID,默認值是已有的最大的GID加1
-r 建立一個系統專用組,與-g不同時使用時,則分配一個1~999的GID
  1. 列:

    [root @localhost /root]#groupadd -g 1000 group1 
    • 1

    表示添加一個新組,組ID為 1000 ,組名為group1

  2. 注意:上面已經介紹了普通用戶 UID是從1000開始的

4.2 管理Linux用戶組——groupmod

  1. groupmod命令 :用於修改組的屬性

  2. 語法格式:groupmod [選項] 群組名

  3. 常用選項:

    選項 功能
    -g GID 指定組新的GID
    -n name 更改組的名字為name

4.3 刪除Linux用戶組—— groupdel

  1. groupdel命令:刪除指定名稱的用戶組帳號

  2. 語法格式:groupdel 群組名

  3. 注意!:需要從系統上刪除群組時,可用groupdel指令來完成這項工作。倘若該群組中仍包括某些用戶,則必須先刪除這些用戶后(刪除用戶上面說明了),方能刪除群組。

五.不懂就問

本人小白第一次學Linux,事情是這樣的,我之前測試時候創建了一個test文件(我也忘記是用戶還是文件了,反正使用 userdel -r刪除不了),然后我使用 rm -rf刪除了文件test,可是還是不能使用adduser創建test用戶,提示用戶已存在。

在這里插入圖片描述然后在我嘗試刪除也不行
在這里插入圖片描述
tail查看也沒有發現這個用戶

在這里插入圖片描述有時候就查得到。。。。。。很奇葩

在這里插入圖片描述
然后我添加一個test2用戶,查了一下test又不見了,UID也是1001正常

可是就是不能創建用戶test了。應該是我之前刪除
在這里插入圖片描述
在這里插入圖片描述


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM