歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux基礎 >> Linux服務器

Linux文件系統ACLs權限控制

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::---

Copyright © Linux教程網 All Rights Reserved