天天看點

(0基礎學Linux系列)2.08 Linux權限管理

1.1 使用者配置sudo權限(visudo)

sudo的工作過程如下:

1,當使用者執行sudo時,×××會主動尋找/etc/sudoers檔案,判斷該使用者是否有執行sudo的權限

2,确認使用者具有可執行sudo的權限後,讓使用者輸入使用者自己的密碼确認

3,若密碼輸入成功,則開始執行sudo後續的指令

4,root執行sudo時不需要輸入密碼(eudoers檔案中有配置root ALL=(ALL) ALL這樣一條規則)

5,若欲切換的身份與執行者的身份相同,也不需要輸入密碼

visudo使用vi打開/etc/sudoers檔案,但是在儲存退出時,visudo會檢查内部文法,避免使用者輸入錯誤資訊

visudo需要root權限

1)使用visudo指令打開sudo配置檔案

# visudo
           

2)使用100gg快捷鍵跳轉至第100行

(0基礎學Linux系列)2.08 Linux權限管理

3)配置介紹

配置 含義
root 表示有權限使用sudo指令的使用者
ALL=(ALL) 第一個ALL表示可執行的主機,第二個ALL表示可切換的使用者
ALL 表示可執行的權限

4)使用執行個體

# oldboy使用者可以在所有主機上切換任意使用者,并且可以執行所有指令
oldboy ALL=(ALL) ALL

# oldboy使用者可以在所有主機上切換oldboy01和oldboy02使用者,并且隻能執行ls和ip指令
oldboy ALL=(oldboy01,oldboy02) /usr/bin/ls,/usr/sbin/ip
           

1.2 檔案權限

1.2.1 檢視檔案資訊

在 Linux 中我們可以使用 ll 或者 ls –l 指令來顯示一個檔案的權限以及檔案所屬的使用者群組

其中除去開頭的 - 字元後面的9位字元便是檔案的權限

# ls -l /root
-rw-------
           

1.2.2 檔案權限介紹

在Linux中,權限位共9個字元。去掉開頭的檔案類型,每3個相鄰的字元位一組。前3位表示所屬使用者權限,中3位表示所屬使用者組權限,後3位表示其他使用者權限。

1)檔案權限:

權限 八進制數 含義
r 4 read 代表可讀權限
w 2 write 代表可寫權限(删除目錄下檔案需要該權限)
x 1 execute 代表可執行權限
- 代表沒有權限

2)特殊權限位

權限 八進制數 含義
suid 4000 讓普通使用者以root或其他的使用者角色運作隻有root或其他賬号才能運作的指令或程式
sgid 2000 執行指令的使用者可以獲得該程式執行期間所屬組的權限
sticky 1000 可以往裡面放内容但是卻不能對這個目錄進行操作

1.3 chmod 修改檔案權限

參數:

參數 含義
u (user) 使用者位
g (group)使用者組位
o (other)其他使用者位
a (all)所有使用者位,預設為對所有使用者位修改
- 減少權限
+ 增權重限
= 賦予新的權限
# 對使用者權限位增權重限
chmod u+r oldboy01.txt  

# 對使用者組權限位減少權限
chmod g-w oldboy01.txt 

# 對其他使用者權限位賦予權限
chmod o=x oldboy01.txt      
           
# 以字元方式授權
chmod u=rwx,g=rx,o=rx oldboy01.txt

# 以數字的方式授權,權限對應八進制可相加
chmod 755 oldboy01.txt