歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Linux基礎教程:Linux權限管理

Linux基礎教程:Linux權限管理

日期:2017/2/28 13:49:03   编辑:Linux教程

權限管理是Linux中一個十分重要的概念,也是系統安全性的重要保障。

一、基本權限

用戶對文件擁有所有者,所屬組和其他人三個身份,每個身份都有讀寫執行三個權限。

-rw-r--r--:第一個"-"位置是代表文件類型的。

文件權限前的第一個字母用來標識文件類型:

-:一般文件

d:目錄文件

b:塊設備文件

c:字符設備文件

l:鏈接文件

p:人工管道

常見的為-,d,I

rw- r-- r-- :文件權限

u g o

u所有者,g所屬組,o其他人

r讀 w寫 x執行 -不具有權限

8進制數值表示方法

r:4

w:2

x: 1

如:-rw- r-- r--的意思就是這個文件的類型是一般文件,文件本身所在的用戶可讀可寫不可執行,所在的組可讀,不可寫不可執行,其他用戶可讀,不可寫不可執行。

權限管理命令

chmod 改變文件或目錄權限

英語原意:change the permissions mode of a file

語法:1、chmod【ugoa】【+-=】【rwx】【文件或目錄】

執行權限:文件所有者和root用戶

2、權限的數字表示

chmod 【421】【文件或目錄】

r——4

w——2

x——1

chown 更該文件或目錄的所有者

英語原意:chamge file ownership

執行權限:root

語法:chown 【用戶】【文件或目錄】

chgrp 改變文件或目錄的所屬組

英語原意:change file froup ownnership

執行權限:root

語法:chgrp【用戶組】【文件或目錄】

二、默認權限

umask 顯示、設置文件的缺省權限

英語原意:the user file-creation mask

語法:umask【選項】

執行權限:root

-S 以rwx形式顯示新建文件缺省權限

看到目錄默認的權限和umask -S的權限一致,touch的權限每位比umask -S顯示的權限少一個x權限,在linux會把任何一個新建的文件的可執行權限去掉(基於安全性考慮),所以也是和umask -S的權限是一樣的

直接輸入umask,得到0022,第一個0是特殊權限,後三位代表正常權限,表示擁有者,所屬組,其他用戶,但其實真正的權限是777-022=755,所以是rwxr-xr-x


設置默認權限為754,應由777-754=023

umask 023,但不建議更改,默認的權限是比較合理的

三、ACL權限

有時候,所有者,所屬組,其他人三個身份的權限是770,假如想要某一個用戶的身份為5,那麼這些身份權限就滿足不了要求了,就要使用到ACL權限了。

ACL權限

需要文件所在的分區支持ACL權限

查看分區ACL權限是否開啟

dumpe2fs -h /dev/sda3

dumpe2fs命令是查詢指定分區詳細文件系統信息額命令

-h 僅顯示超級塊中信息,而不顯示磁盤塊組的詳細信息

df 查看分區使用狀況,查看到/為/dev/sda3

默認掛載選項,支持ACL,默認都開啟了ACL。

若沒有開啟

臨時開啟分區ACL權限

mount -o remount,acl/ 重新掛載跟分區,並掛載加入acl權限

永久開啟分區ACL權限

vim /etc/fstab 是系統開機自動掛載文件

在defaults後加,acl,重啟系統或重新掛載文件系統就可以了,當然,在默認的情況下,本身就支持acl的。

查看與設定acl權限

getacle 文件名 查看acl權限

setfacl 【選項】 文件名 設定ACL權限

-m 設定ACL權限

-x 刪除指定的ACL權限

-b 刪除所有的ACL權限

-d 設定默認ACL權限

-k 刪除默認ACL權限

-R 遞歸設定ACL權限

setfacl -m u:test:rx //root/wt/ u/g

為給用戶/組分配acl,test為用戶名,rx為寫執行權限,/root/wt為文件名)

可以看到,權限後面多了個+號,然後使用getfacl查看acl權限,可以看到user:test:r-x

最大有效ACL權限與刪除ACL權限

mask是用來指定最大有效權限的。如果我給用戶賦予了ACL權限,是需要和mask的權限“相與”才能得到用戶的真正權限。

相與就是邏輯運算兩個都為真才為真,如user的讀r權限和mask的讀r權限相與為讀權限,若其中任何一個為-權限,則結果就為-權限。

上面用setfacl -m u來指定用戶,用m來指定mask的權限

當然,mask設置成了rwx權限,任何權限與他相與,都是本身,所以默認的mask權限是合理的。

刪除ACL權限

setfacl -x u:用戶名 文件名 刪除指定用戶的ACL權限

setfacl -b 文件名 刪除文件的所有的ACL權限

默認ACL權限和遞歸ACL權限

遞歸ACL權限:遞歸是父目錄在設定ACL權限時,所有的子文件和子目錄也會擁有相同的ACL權限。之前所說的命令,也有遞歸的概念,比如mkdir和rm的時候。

setfacl -m u:用戶名:權限 -R文件名

但是新建的文件不是擁有ACL權限。

默認ACL權限

默認ACL權限的作用是如果給父目錄設定了默認ACL權限,那麼父目錄中所有新建的子文件都會繼承父目錄的ACL權限。

setfacl -m d:u:用戶名:權限 文件名

Copyright © Linux教程網 All Rights Reserved