歡迎您光臨本站 註冊首頁

Linux文件系統ACLs許可權控制

←手機掃碼閱讀     火星人 @ 2014-03-09 , reply:0

Linux文件系統給所有者(owner)、所有組(owning group)、其它(other)每一類用戶分別定義了的rwx許可權,且是彼此獨立的.雖然Linux有也Linux特殊文件許可權的功能支持,但要像在Windows下把許可權控制可以精確到用戶和組(如允許某個文件允許某一特殊用戶修改,允許某一組的用戶可以查看等)一樣靈活,這些顯然還不夠.令人欣慰的是,Linux也有ACLs許可權控制的支持,在Linux中ACLs在ReiserFS,Ext2,Ext3,JFS,XFS等文件系統中受到支持.

修改文件ACL:setfacl -m u:tux:rw file 允許用戶tux讀寫file文件

查看文件ACL:getfacl file

使用了ACL的文件,通過ls -l命令來查看許可權時,後面會有一個「 」號,group的許可權會有變化(使用了ACL mask許可權).

文件使用ACL后,許可權角色有如下幾種類型:

最小化ACL:

owning user

owning group

other

擴展ACL:

可以包含若干個對象:named user(設置單獨用戶的訪問許可權)、named group(設置單獨群組的訪問許可權)

包含一個mask(限制named users 和 named groups的許可權)

舉例說明如下:

owner user::rwx

named user user:name:rwx

owning group group ::rwx

named group group :nam e:rwx

mask mask::rwx

other other::rwx

定義在owner、other里的許可權一直都是有效的,其它許可權可能用效或者被隱蔽.

named user與named group的值是否生效,還要看其值與mask的「與」值,即mask也要有該許可權,才能生效.

mask的值一般是與owning group一致的,可以通過修改owning group的值來修改mask.

舉例說明如下:

linux-canbeing:/home/canbeing/temp # getfacl my

# file: my

# owner: canbeing

# group: users

user::rw-

user:canbeing:rwx #effective:r-x w沒有生效

group::r--

mask::r-x

other::r--

子目錄會繼承父目錄的ACL.

如果父目錄有ACL,則創建新文件或者文件夾時,默認許可權不會根據umask來計算,而是繼承或者根據命令參數.

使用setfacl -d -m u:canbeing:rw /tmp/acl_test/ 則此許可權會得到子目錄及文件的繼承(許可權以default開頭)

linux-canbeing:/tmp/acl_test # getfacl /tmp/acl_test/

getfacl: Removing leading '/' from absolute path names

# file: tmp/acl_test/

# owner: root

# group: root

user::rwx

user:canbeing:rwx

group::---

mask::rwx

other::---

default:user::rwx

default:user:canbeing:rw-

default:group::---

default:mask::rw-

default:other::---


[火星人 ] Linux文件系統ACLs許可權控制已經有564次圍觀

http://coctec.com/docs/linux/show-post-53230.html