Linux系統下的使用者賬號與許可權管理(二)
一、 使用者賬號的初始配置檔案
1 、檔案來源
- useradd命令新增一個新的使用者賬號後會在該使用者的宿主命令中建立一些初始配置檔案;
- 這些檔案來自於賬號模板目錄/etcskel/,基本上都是隱藏檔案。
2、主要的使用者初始配置檔案
2.1 使用者宿主目錄下的初始配置檔案
只對當前使用者有效!
~./bash_profile:此檔案中的命令將在該使用者每次登入時被執行,它會設定一些環境變數,並且會呼叫該使用者的 ~./bashrc檔案;
~./bashrc:此檔案中的命令會在每次開啟新的bash shell(也包括登入系統)被執行,並且會呼叫/etc/bashrc檔案。
~./bash_logout:此檔案中的命令將會在使用者每次登入或退出bash shell時執行。
2.2 全域性配置檔案
對所有使用者有效
/etc/profile
這個檔案是為系統全域性變數配置檔案,可通過重啟系統或者執行source /etc/profile 命令使profile檔案被讀取
/etc/profile.d/
這個檔案實際上是/etc/profile的子目錄,存放的是一些應用程式所需的啟動指令碼
/etc/bashrc
每一個執行bash shell 的使用者都會執行此檔案,可通過執行bash命令開啟一個新的bash shell時,使bashrc檔案被讀取
2.2.1 進入etc/bashrc,修改配置檔案,使其切換使用者不受影響
2.2.2 進入/etc/profile,修改之後要保證切換使用者之後查詢到別名設定
2.3PATH變數生效的原理
PATH變數用於設定可執行程式的預設搜尋路徑。
每次啟動系統的時候會初始化命令,會執行/etc/profile 和 ~./bash.profile。 /etc/profile會將路徑/usr/local/bin、/usr/bin、/usr/local/sbin、/usr/sbin追加到PATH中去,然後呼叫/etc/profile.d目錄下的腳步。
二、組賬號檔案
1、格式
- /etc/group:儲存組賬號的基本資訊
- /etc/gshadow:儲存組賬號的密碼資訊
2、group資訊欄位組成
- 欄位1:組帳號的名稱
- 欄位2: 佔位符“x”
- 欄位3:組賬號的GID號
- 欄位4:組賬號包含的使用者成員(一般不包括基本組對應的使用者帳號),多個成員之間以逗號“,"分隔
三、組賬號管理
1、新增組賬號——groupadd
1.1 格式
groudadd [-g GID] 組賬號名
1.2 例項操作
2、新增刪除組成員——gpasswd
2.1 作用
設定組賬號密碼(極少用)、新增/刪除組成員
2.2 格式
gpasswd [選項]...組賬號名
2.3常用選項
2.4 例項操作
3、刪除組賬號——groupdel
3.1 格式
group 組賬號名
3.2 例項操作
四、查詢賬號資訊
1、groups命令
作用:查詢使用者所屬的組
格式:groups 【使用者名稱】
2、id命令
作用:查詢使用者身份標識
格式:id 【使用者名稱】
3、finger命令
作用:查詢使用者賬號的登入屬性
注:需要先進行安裝finger軟體包
格式:finger 【使用者名稱】
4、w命令
作用:是用來顯示當前登入使用者及這些使用者正在做什麼的命令。它同時也能顯示系統執行時長,當前系統時間和系統平均負載情況 cpu負載
格式:w [ 選項] 使用者名稱
第一行資訊輸出內容包含的資訊說明如下:
16:43:29 ——當前系統時間.
up 16:56——系統執行時長.
1 users ——登入使用者數.
load average: 0.00 0.01, 0.05 ——系統過去1,5,15分鐘的平均負載資訊。平均系統負載是對當前正在執行或正在等待磁碟I/O的作業數的度量。 它基本上告訴您系統在給定間隔內的繁忙程度。
第二行資訊包括如下欄位說明:
USER ——登入使用者名稱.
TTY ——登入使用者使用的終端名.
FROM ——登入使用者來源的主機名或IP地址.
LOGIN@ ——使用者登入時長.
IDLE —— 自使用者上一次與終端進行互動以來的空閒時間.
JCPU ——附加到tty的所有程序使用的時間.
PCPU ——使用者當前程序所用的時間。 顯示在“ WHAT”欄位中的那個.
WHAT —— 使用者當前的程序及選項/引數。
5、who命令
作用:用於顯示系統中有哪些使用者正在上面,顯示的資料包含了使用者 ID、使用的終端機、從哪邊連上來的、上線時間、呆滯時間、CPU 使用量、動作等等。
使用許可權:所有使用者都可使用
格式:who
6、users命令
作用:users命令 用於顯示當前登入系統的所有使用者的使用者列表。每個顯示的使用者名稱對應一個登入會話。如果一個使用者有不止一個登入會話,那他的使用者名稱將顯示相同的次數
格式:users
五、檔案/目錄的許可權及歸屬
1、訪問許可權與歸屬(所有權)
① 訪問許可權
✔ 讀取r: 允許檢視檔案內容、顯示目錄列表
✔ 寫入w: 允許修改檔案內容,允許在目錄中新建、移動、刪除檔案或子目錄
✔ 可執行x: 允許執行程式、切換目錄
② 歸屬(所有權)
✔ 屬主: 擁有該檔案或目錄的使用者帳號
✔ 屬組: 擁有該檔案或目錄的組帳號
2、檔案/目錄資訊欄位分析
第一欄位分析:
在上述輸出資訊中,第3、4個欄位的資料分別表示該檔案的屬主、屬組,上面的"/etc/passwd"檔案都屬於root使用者,
root組:而第1個欄位的資料表示該檔案的訪問許可權,如:"-rw-r–r--"。許可權欄位由四部分組成,各自的含義如下:
第1個字元:表示該檔案的型別,可以是d(目錄)、b(塊裝置檔案)、c(字元裝置檔案)、“-”(普通檔案)、字母“ l ”(連結檔案)等;
第2~4個字元:表示該檔案的屬主使用者(User)對該檔案的訪問許可權;
第5~7個字元:表示該檔案的屬組內各成員使用者(Group)對該檔案的訪問許可權;
第8~10個字元:表示其他任何使用者(Other)對該檔案的訪問許可權;
第11個字元:這裡的“ . ”與SELinux有關,目前不需要關注。
許可權項 | 讀 | 寫 | 執行 | 讀 | 寫 | 執行 | 讀 | 寫 | 執行 |
---|---|---|---|---|---|---|---|---|---|
字元提示 | r | w | x | r | w | x | r | w | x |
數字表示 | 4 | 2 | 1 | 4 | 2 | 1 | 4 | 2 | 1 |
許可權分配 | 檔案所有者 | 檔案所屬組 | 其他使用者 | ||||||
八進位制數表示 | 7 | 7 | 7 |
二、設定檔案/目錄的許可權和歸屬
1、設定許可權 — chmod
1.1 格式
字元形式: chmod [ugoa···][+-=][rwx] 檔案...
數字形式: chmod nnn 檔案/目錄...
• "ugoa"表示該許可權設定所針對的使用者類別。“u”代表檔案屬主,“g”代表 檔案屬組內的使用者,“o”代表其他任何使用者,“a"代表所有使用者(預設時為a)
• “+ - ="表示設定許可權的操作動作。“+"代表增加相應許可權,“-"代表減少相應許可權,“=”代表僅設定對應的許可權
• “rwx”是許可權的字元組合形式,也可以拆分使用,如“r”"rx” 等
1.2 常用選項
-R:遞迴修改指定目錄下所有子項的許可權(包括目錄中的檔案)
1.3 例項操作
1.3.1 以字元形式設定許可權
1.3.2 以數字形式修改許可權
1.3.3 以遞迴方式修改子目錄下的許可權
2、設定歸屬 — chown/chgrp
2.1 格式
chown/chgrp 屬主 檔案或目錄
chown/chgrp :屬組 檔案或目錄
chown/chgrp 屬主:屬組 檔案或目錄
2.2 常用選項
-R:遞迴修改指定目錄下所有子項的許可權(包括目錄中的檔案)
2.3 例項操作
三、umask應用
新建檔案或目錄時會用到umask
1、作用
- 設定目錄和檔案的預設許可權;
- 指定目前使用者在新建檔案或目錄時的許可權預設值;
- 新建的檔案或者目錄的許可權為預設最大許可權減去umask(普通檔案的最大預設許可權為6,目錄的最大預設許可權為7)
2、格式
umask檢視: umask
umask設定: umask 000