1. 程式人生 > >Linux帳號管理

Linux帳號管理

保留 當前 http ble 創建 圖片 用戶管理 密碼過期 系統管理員

用戶標識符:UID與GID


我們知道有兩種身份元素,一種是用戶UID userId,一種是用戶組GID group id。對於linux系統來說,或者說是對機器來說識別的都是id數字,那麽uid和gid是依據/etc/passwd/etc/group來設定的。

技術分享圖片

如圖所示,我們到了passwd文件中看到了mind的對應的存儲用戶信息,ll命令作用相當於ls -al,我們對1000的那個值進行修改,回來後再次查看發現只有對應的用戶id數值並未顯示名字。所以系統是以uid作為標定信息的,再到對應的文件中去尋找相應的信息。

用戶帳號


系統登錄的時候進行帳號密碼驗證的流程如下

  1. 首先定位到/etc/passwd,判斷是否有對應的賬戶,有則將相關的信息如uid和gid(/etc/group)等讀出來,包括帳號的主文件夾和shell設置
  2. 核對密碼表,與/etc/shadow中的密碼進行驗證對比
  3. 如果正確,進入shell管控階段

/etc/passwd文件結構

技術分享圖片

該指令只是展示了前5行的內容,理論上該文件下有多少行就代表著有多少個賬戶信息,其中0編號代表的是系統管理員,所以如果將uid設為0就是擁有root權限了,1-499是系統用戶編號用於不同的系統服務所使用,其中1-99是系統自己創建的系統帳號所用的編號,100-499是我們自己增加的系統帳號的編號,500起步是一般用戶帳號

如圖所示,所有的內容按照 : 這個符號進行劃分,按root來細說

root  x 0 0 root /root /bin/bash
用戶名稱  密碼 UID標識符 GID標識符 用戶信息說明 用戶主文件夾位置 Shel指定

/etc/shadow文件結構

技術分享圖片

如圖所示,所有的內容按照 : 這個符號進行劃分,按root來細說

root $6$SwcB.. 17651 0 99999 7
用戶名稱 密碼 最近更改密碼日期(以1970/1/1起步的天數) 密碼不可更改天數的距離字段三) 密碼需要重新更改的天數(距離字段三) 密碼需要重新更改期限前的警告天數(距離字段三) 密碼過期後期限天數 帳號時效日期 保留字段

/etc/group文件結構

技術分享圖片

如圖所示,所有的內容按照 : 這個符號進行劃分,按root來細說

root x 0
組名稱 組的密碼(這個是給用戶組管理員使用的) GID 組內成員

對於組存在著初始用戶組和有效用戶組,初始用戶組就是以某帳號登錄的時候它所在的組,一般當我們用useradd創建一個新的用戶的時候默認創建了一個和用戶名一樣的初始用戶組,有效用戶組一般對應於創建文件的時候的概念。就是我們創建新的文件它到底屬於該用戶中的哪一個用戶組,使用指令groups可以查看到用戶組的信息,第一個就是有效用戶組。

通過newgrp可以切換用戶組,前提是切換該用戶所處的用戶組,這時候是新啟動一個shell提供這個功能,可以通過exit回到上一級用戶切換狀態。shell的概念以後再好好研究下。

newgrp是通過/etc/gshadow進行設置的,該文件下有四個字段分別是用戶組名稱、用戶組管理員密碼、用戶組管理員帳號、用戶組下的用戶名稱,用戶組管理員的概念是為了輔助root進行用戶管理使用的。

技術分享圖片

總的來說這三個文件是管理用戶信息的核心文件,passwd中通過gid在group中尋找組名等信息,通過用戶名在shadow中查到密碼。

帳號管理


  • 創建用戶useradd
  • 修改密碼passwd,後面加上用戶名是指定修改密碼,不加是修改當前的用戶密碼
  • 查看密碼參數,包括過期等信息 chage
  • 修改用戶帳號相關參數usermod,userdel
  • 查看用戶帳號相關信息finger,修改個人屬性chfn,修改shell設置chsh,列出相關的id信息id
  • 用戶組的增刪改操作groupadd,groupmod,groupdel
  • 用戶組管理員操作gpasswd

參考:

鳥哥的私房菜

Linux帳號管理