Linux系列十一 - 賬戶管理
阿新 • • 發佈:2018-12-31
一、使用者賬號
ssh登入系統處理過程
1、查詢賬戶在/etc/passwd 中是否存在,不存在跳出,存在則讀出UID與GID(從/etc/group)
2、讀取/etc/shadow找出對應的賬戶與UID,核對密碼
3、校驗通過,登入成功
/etc/passwd檔案結構
root:x:0:0:root:/root:/bin/bash
用:分隔,共有7個欄位,含義分別是:
1、賬戶,用於對應UID
2、密碼,早期使用,為了安全統一使用x了,密碼儲存在/etc/shadow
3、UID,使用者識別符號
0:系統管理員
1~499:系統賬戶
500-65535:使用者
4、GID,/etc/group關聯
5 、使用者資訊說明,
6、主資料夾,預設的使用者主資料夾
7、shell,使用者可取得的shell環境
/etc/shadow檔案結構
root:$1$/30QpE5e$y9N/D0bh6rAACBEz.hqo00:14126:0:99999:7:::
1、賬戶名稱
2、密碼
3、最近更改密碼的日期,從1970-1-1到更改密碼時的天數
4、密碼不可被改動的天數,與欄位3對比。比如設定為5,使用者於2018-07-10修改了密碼,那麼在2018-07-15之前不能再修改密碼
5、密碼需要重新修改的天數,與欄位3對比。即密碼多久過期。比如設定為5,即表示5天后密碼失效
6、密碼需要修改期限前的警告天數,與欄位5對比。當密碼臨近過期時,根據該欄位的設定在過期前多久給使用者提示
7 、密碼過期後的賬戶寬限時間(密碼失效日),與欄位5對比。密碼失效後多久內仍可登入
8、賬戶失效日期,即過了該日期,此賬戶將無法使用
9、保留欄位
/etc/group檔案結構
root:x:0:root
1、使用者組名稱
2、使用者組密碼,密碼已使用/etc/gshadow檔案
3、GID,使用者組id
4、使用者組支援的賬戶名稱
/etc/gshadow檔案結構
root:::root
1、組名
2、密碼
3、使用者組管理員的賬戶
4、該使用者組下的賬戶
有效與初始使用者組
初始使用者組: 當用戶登入,即會擁有/etc/passwd下該賬戶對應的GID即使用者組相關許可權(第四個欄位),該GID即是使用者的初始使用者組。 有效使用者組: 當用戶建立一個檔案或目錄時,有效使用者組決定了新檔案所屬使用者組 groups 檢視使用者組,輸出的第一個為有效使用者組 newgrp 切換有效使用者組,命令:newgrp 使用者組名
二、賬號管理
使用者新增與刪除
命令:
useradd [-u UID] [-g 初始使用者組] [-G 次要使用者組] [-c 說明列] [-d 主資料夾絕對路徑] [-s shell] 使用者賬戶名
-s 後面接shell,未指定時預設使用/bin/bash
當使用命令:useradd 使用者名稱 ,建立使用者時,系統會根據預設值建立使用者資訊。預設值可通過:useradd -D 命令檢視
使用者建立後使用命令:passwd 賬戶名 為新建使用者設定密碼,若想修改當前使用者密碼使用命令:passwd即可
命令:passwd [--stdin] :可使用前一個管道的資料作為密碼輸入
命令:usermod username 修改使用者資訊
命令:userdel username 刪除使用者相關資料
userdel [-r] username
-r :刪除使用者主目錄
使用者功能
finger [-sm] username 檢視使用者資訊
-s 列出使用者的賬戶、全名、終端代號與登入時間等
-m 列出與username相同者
chsh [-ls]
-l 列出可用的shell
-s 設定修改自己的shell
id [username]
未輸入username,表示檢視當前使用者id資訊
新增與刪除使用者組
groupadd [-g GID] [-r] 使用者組名
-g 接系統已有GID,表示直接賦予該GID
-r 新建系統使用者組
groupmod [-g GID] [-n groupname] 使用者組名
-g 修改gid為指定資料
-n 修改使用者組名為指定資料
groupdel [groupname]
刪除指定使用者組,當某個使用者組為使用者的初始使用者組時無法刪除
四、使用者身份切換
su
su - 可將身份切換為root,但需要密碼
su [-lm] [-c 命令] [username]
- : 代表使用login-shell的配置檔案讀取方式登入系統,未指定使用者表示切換為root
-l :login-shell方式,後面加目標使用者名稱
-m :使用當前的環境配置
-c :執行一次命令,後接命令
exit 退出su
sudo
sudo切換不需要目標使用者密碼,只有在/etc/sudoers 中的使用者才能執行sudo
sudo [-b] [-u 新使用者賬戶]
-b : 將後續的命令讓系統自動執行,而不與目前的shell產生影響
-u : 後接欲切換的使用者賬戶,不加此引數表示切換root
visudo : 修改/etc/sudoers的命令
使用者賬戶 登入者的來源主機 可切換的身份 可執行的命令
root ALL = (ALL) ALL
該使用者組的使用者
%admin ALL = (ALL) ALL
%代表後面接的是使用者組,那麼在該使用者組下的使用者就能使用sudo命令