Linux文件權限詳解

Linux系統中不僅是對用戶與組根據UID,GID進行了管理,還對Linux系統中的文件,按照用戶與組進行分類,針對不同的群體進行了權限管理,用他來確定誰能通過何種方式對文件和目錄進行訪問和操作。

Linux系統中不僅是對用戶與組根據UID,GID進行了管理,還對Linux系統中的文件,按照用戶與組進行分類,針對不同的群體進行了權限管理,用他來確定誰能通過何種方式對文件和目錄進行訪問和操作。

一、文件權限

1.文件的權限針對三類對象進行定義

owner????? 屬主,縮寫u

group?????? 屬組,縮寫g

other??????? 其他,縮寫o

 

2.每個文件針對每類訪問者定義了三種主要權限

r:Read ? ? ?讀

w:Write ? ? ?寫

x:eXecute ? ? ?執行

另 X:針對目錄加執行權限,文件不加執行權限(因文件具備執行權限有安全隱患)

注意:root賬戶不受文件權限的讀寫限制,執行權限受限制

 

 

3.對于文件和目錄來說,r,w,x有著不同的作用和含義:

針對文件:

r:讀取文件內容

w:修改文件內容

x:執行權限對除二進制程序以外的文件沒什么意義

 

針對目錄:

目錄本質可看做是存放文件列表、節點號等內容的文件

r:查看目錄下的文件列表

w:刪除和創建目錄下的文件

x:可以cd進入目錄,能查看目錄中文件的詳細屬性,能訪問目錄下文件內容(基礎權限)

 

權限

 

4.用戶獲取文件權限的順序:首先看是否為所有者,如果是,則后面權限不看;再看是否為所屬組,如果是,則后面權限不看。

 

二、修改文件訪問權限的方法

chmod????????????? 修改權限 change mode

 

方法1:mode法

格式:chmod who opt per file

who:u g o a(all)

opt:+ – =

per:r w x X

 

方法2:數字法

格式:chmod XXX file

 

rwx rw- r–

111 110 100

7?? 6?? 4

 

r:4

w:2

x:1

 

例:chmod 764 file??????? 給file文件添加 rwxrw-r– 權限

chmod -R +X dir?????????????? 給dir目錄添加X執行權限,dir目錄下文件不添加執行權限

(如果dir目錄下有文件已具備執行權限,則添加該文件執行權限)

 

三、UMASK值

作用:取消對應的權限,影響創建文件和目錄的默認權限

對目錄:

umask+default=777(dir)

對文件:

666-umask:觀察結果,如果有奇數,奇數位+1,偶數不變

 

 

四、三種特殊權限suid、sgid、sticky(sticky權限工作環境中相對常用)

1.suid

作用:給一個用戶繼承二進制程序所有者擁有的權限

suid權限位 位于所有者的執行權限位上,如果一個文件具有suid權限,則所有者執行位為s,文件表現為紅色背景

例:ll /usr/bin/passwd

-rwsr-xr-x. 1 root root 30768 Nov 24? 2015 /usr/bin/passwd

紅色suid

給file文件增加suid權限

chmod u+s file

chmod 4755 file?????????????? suid數字法表示為4

suid只適合作用在二進制程序上

 

2.sgid

作用1:給一個用戶繼承二進制程序所有組擁有的權限

sgid權限位 位于所有組的執行權限位,如果一個文件具有suid權限,則所有組的執行位為s,文件表現為黃色背景

例:ll `which cat`

-rwxr-sr-x. 1 root root 48568 Mar 23? 2017 /bin/cat

黃色sgid

給file文件增加sgid權限

chmod g+s file

chmod 2755 file?????????????? sgid數字法表示為2

 

作用2:作用在目錄上時,使一個目錄下的新建的文件繼承目錄的所屬組

 

3.sticky

作用:作用于目錄上,此目錄的文件只能被所有者刪除

sticky權限位 位于其他的執行權限位上,如果一個文件具有sticky權限,則其他的執行位為t,目錄表現為綠色背景

如:ll -d /tmp

drwxrwxrwt. 17 root root 4096 Apr? 4 10:02 /tmp

綠色sticky

給dir目錄添加sticky權限

chmod o+t dir

chmod 1777 dir??????????????? sticky數字法表示為1

 

五、ACL訪問控制列表

作用:實現更加靈活的權限管理,打破了三類用戶的權限管理

1.添加ACL權限

setfacl -m u:wang:0 file 使wang賬戶對指定file文件無權限

setfacl -m u:mage:rw file?????? 使mage賬戶對指定file文件有讀寫權限

setfacl -m g:g1:rw file 使g1組對指定file文件有讀寫權限

getfacl???? file???????????????????? 查看指定file文件的ACL權限

ACL權限執行順序類似于用戶獲取文件權限的順序,getfacl順序從上到下執行,一旦生效,下面的將不再生效(如果屬于多個組,權限累加)

 

2.刪除ACL權限

setfacl -x u:wang file????? 刪除wang賬戶對指定file文件的ACL權限

setfacl -x g:g1 file?? 刪除g1組對指定file文件的ACL權限

 

3.ACL權限下的mask

設置用戶對指定文件所能擁有的最大權限(限高作用)

setfacl -m mask::r file???????????? 使指定文件file所擁有的最大權限位讀r

setfacl -x mask::r file?????????????? 取消指定文件file的最大權限限制mask

setfacl -b f1????????????????????? 取消f1文件所有的ACL權限

 

ACL生效順序:所有者、自定義用戶、自定義組、其他人

 

4.備份和恢復ACL權限

getfacl -R /tmp/dir1>acl.txt?????????? 將dir1目錄下ACL權限備份

setfacl -R –set-file=acl.txt /tem/dir????? 恢復dir1目錄下ACL權限

 

六、文件權限操作的常用命令

chown????????????? 設置文件所有者(普通用戶無法修改文件所有者)

-R???? 遞歸

user:group?? 同時修改所有者,所有組

chgrp??????????????? 設置文件所屬組(普通用戶要想該所屬組,前提是文件所有者為自己,自己在所屬組中)

-R???? 遞歸

 

chmod????????????? 設置指定文件權限

-R???? 遞歸

–reference=f1 f2 f3??????? 參考f1文件權限設置f2,f3文件

 

chattr?????????????? 給指定文件添加保護,避免root賬戶誤操作

+i????? 鎖定文件,不能刪除,不能改名,不能更改內容

-i????? 解鎖+i

-a???? 鎖定文件,不能刪除,不能改名,但可追加內容(追加重定向)

-a???? 解鎖+a

+A??? 指定文件讀時間atime不再更改

 

lsattr???????????????? 查看指定文件是否有鎖定狀態

 

setfacl????????????? 設置文件ACL權限

-m mask::r file????????? 使指定文件file所擁有的最大權限位讀r

-x mask::r file??????????? 取消指定文件file的最大權限限制mask

-b f1?????????????????? 取消f1文件所有的ACL權限

-R –set-file=acl.txt /tem/dir?? 恢復dir1目錄下ACL權限

 

getfacl????????????? 查看文件ACL權限

 

本文來自投稿,不代表Linux運維部落立場,如若轉載,請注明出處:http://www.www58058.com/94918

(0)
wangxczwangxcz
上一篇 2018-04-04
下一篇 2018-04-04

相關推薦

欧美性久久久久