1. 程式人生 > >Linux賬號管理與ACL許可權管理(複習)

Linux賬號管理與ACL許可權管理(複習)

Linux 系統上面的使用者如果需要登陸主機以取得 shell 的環境來工作時,
系統都做了什麼工作?

1、先找尋 /etc/passwd 裡面是否有你輸入的賬號?如果沒有則跳出,如果有的話則將該賬號對應的 UID 與 GID (在 /etc/group 中) 讀出來,另外,該賬號的家目錄與 shell 配置也一併讀出;
2、再來則是核對口令表!這時 Linux 會進入 /etc/shadow 裡面找出對應的賬號與 UID,然後核對一下你剛剛輸入的口令與裡頭的口令是否相符?
3、如果一切都 OK 的話,就進入 Shell 控管的階段!

/etc/passwd 檔案結構

1.賬號名稱
2.口令
3.UID
4.GID
5.使用者資訊說明欄
6.使用者家目錄
7shell

/etc/passwd 檔案結構

1.賬號名稱
2.口令
3.最近更動口令的日期
4.口令不可被更動的天數
5.口令需要重新變更的天數
6.口令需要需要變更前的警告天數
7.口令過期後的賬戶寬限時間
8.賬戶失效日期

這裡寫圖片描述

/etc/group 檔案結構

1.組名
2.群組口令
3.GID
4.此群組支援的賬號名稱(多個賬號用,隔開)

新增使用者: useradd

選項
    -u:指定特定的UID
    -g:接組名
    -G:該賬號還可以加入的的群組
    -r:建立一個系統賬號
    -c:使用者資訊資訊說明欄
    -s:shell預設/bin/bash

移除使用者: userdel

-r:連同使用者家目錄一起刪除

配置口令:passwd

--stdin:可以透過來自管線的資料,作為口令輸入
-S:列出口令的相關引數

進行賬號相關資料的微調:usermod

新增使用者: useradd
CentOS 這些預設值主要會幫我們處理幾個專案:

在 /etc/passwd 裡面建立一行與賬號相關的資料,包括建立 UID/GID/家目錄等;
在 /etc/shadow 裡面將此賬號的口令相關引數填入,但是尚未有口令;
在 /etc/group 裡面加入一個與賬號名稱一模一樣的組名;
在 /home 底下建立一個與賬號同名的目錄作為使用者家目錄,且許可權為700

getfacl:取得某個檔案/目錄的 ACL 配置專案;
setfacl:配置某個目錄/檔案的ACL 規範

setfacl用法
-m:配置後續的引數給檔案使用(不可與-x使用)
-x:刪除後續的ACL引數
-b:移除所有ACL配置引數
-k:移除預設ACl引數
-R:遞迴配置ACL
-d:配置預設ACl引數

用法 setfacl -m u:[使用者賬戶列表]:[rwx] [目錄/檔案]
mask:[rwx]限制最大許可權