Linux須要對登陸用戶讀寫執行文件、進入目錄、查看增刪目錄內容等操做進行控制,不能任由用戶隨意執行全部操做。html
咱們從以下幾個方面來認識Linux權限控制體系:app
- 用戶管理
- 用戶組管理
- 文件權限信息
- chmod、chgrp、chown命令
所謂用戶其實就是登陸Linux系統時使用的帳號。而用戶組則是把相同權限的用戶概括到同一個組內以便於管理,相似於Java開發中權限控制體系裏面「角色」的概念。socket
當咱們建立一個帳號時若是沒有指定屬於哪個用戶組,那麼Linux就會自動建立一個同名的用戶組。加密
用戶操做相關命令url |
|
檢查用戶是否存在spa |
id [用戶名]3d |
添加帳號htm |
useradd [用戶名]blog |
爲帳號設置密碼ci |
passwd [用戶名]而後根據提示操做 |
切換登陸用戶 |
su [用戶名] |
顯示當前登陸系統的用戶列表 |
who |
顯示當前登陸系統的用戶 |
who am i |
刪除用戶,保留家目錄 |
userdel [用戶名] |
刪除用戶,連同家目錄一塊兒刪除 |
userdel -r [用戶名] |
用戶組相關命令 |
|
建立用戶組 |
groupadd group_name |
刪除用戶組 |
groupdel group_name |
重命名用戶組 |
groupmod -n new_group_name old_group_name |
用戶、用戶組操做 |
|
建立用戶並直接添加到某一個用戶組中 |
useradd -g 組名 用戶名 |
查看全部用戶組 |
cat /etc/group |
修改用戶所在的用戶組 |
usermod -g 組名 用戶名 |
3.1 /etc/passwd
登陸Shell部分主要是控制該帳號是否能夠經過登陸界面登入系統。不能經過界面登陸的用戶每每是爲登陸專門的服務準備的。
3.2 /etc/shadow
登陸名:加密口令:最後一次修改時間:最小時間間隔:最大時間間隔:警告時間:不活動時間:失效時間:標誌
3.3 /etc/group
組名:口令:組標識號:組內用戶列表
※你打開這個文件會看到「組內用戶列表」部分其實大部分都沒有值,這是由於每一個用戶帳號中已經經過「組id」字段標記了本身屬於哪一個用戶組。一個帳號若是須要設置爲屬於多個不一樣用戶組那麼就須要在這裏指定一下。因此「組內用戶列表」標記的是本來屬於其餘組而後再額外加入本組的帳號。
4.1 命令ls -l查看到的信息說明
4.2 權限信息說明
4.2.1 格式說明
4.2.2 文件類型
d:表示目錄
-:表示文件
b:硬盤、光驅等設備文件
l:軟連接文件
c:字符流,設備文件裏面的串行端口設備,例如鍵盤、鼠標(一次性讀取裝置)
s:socket
p:管道
4.2.3 權限字符含義
【1】 r:讀
文件:查看內容
目錄:ls查看內容
【2】 w:寫
文件:寫入內容
目錄:重命名目錄、刪除目錄內容(不是刪除目錄自己)、在目錄內建立新內容
【3】 x:執行
文件:只有能夠執行的文件纔可以執行
目錄:cd進入目錄
【4】 -:無
想想:目錄的內容指的是什麼?
4.2.4 權限二進制表示
每一個權限位上用0表示沒有權限,用1表示有權限。
字符表示 |
二進制表示 |
十進制換算 |
rwx |
111 |
7 |
rw- |
110 |
6 |
r-- |
100 |
4 |
r-x |
101 |
5 |
改變文件或目錄權限 |
chmod |
改變文件或目錄的所屬組 |
chgrp |
改變文件或目錄的所屬主 |
chown |