歡迎您光臨本站 註冊首頁

Linux系統中文件許可權ACL功能(上)。

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

通過ACL功能配置的許可權優先順序高於通過chmod命令配置的普通許可權,比如某文件的所有者和擁有組是charles,該文件的普通許可權是755,也就是說除了charlesroot用戶以外的用戶是沒有寫入許可權的,但是通過通過ACL配置了oliva用戶對該文件有寫許可權,那麼oliva用戶對該文件是有寫許可權的.

在使用“ls -l”或“ll”命令瀏覽文件或目錄時,在許可權部分多了一個“ ”表示該文件或目錄已經配置了ACL功能.

[root@srv tmp]# ll

total 8

drwxrwxr-x 2 root root 4096 Feb 15 23:25 ada

配置分區支持ACL功能

RHEL 5.x中只有在安裝操作系統時建立的分區才支持ACL功能,其他分區在默認情況下是不支持ACL功能.如果希望讓那些在安裝操作系統完成後建立的分區支持ACL功能可以使用以下幾種方法.

(1) 使用tune2fs命令.tune2fs功能非常多,但這裡重點說明與ACL有關的功能.使用tune2fs命令讓一個分區永久支持ACL

功能,該命令配置分區支持ACL的語法如下.

tune2fs -o acl 分區

在下面的例子中使用tune2fs命令使/dev/sda12永久支持ACL功能

,在配置完成後,可通過tune2fs -l分區命令查看.

l 使

/dev/sda12永久支持ACL功能

[root@srv ~]# tune2fs -o acl /dev/sda12

l 使用-l選項可查看分區的配置情況.

[root@srv ~]# tune2fs -l /dev/sda12

tune2fs 1.39 (29-May-2006)

Filesystem volume name: <none>

Last mounted on: <not available>

Filesystem UUID: 8c54398d-e4c8-4777-9d09-26eed1041049

Filesystem magic number: 0xEF53

Filesystem revision #: 1 (dynamic)

Filesystem features: has_journal resize_inode dir_index filetype sparse_super

#在“Default mount options:”的值中包括“acl”就說明該分區支持ACL功能.

Default mount options: acl

Filesystem state: clean

Errors behavior: Continue

Filesystem OS type: Linux

(2) 使用mount命令.使用

mount命令讓一個分區臨時支持ACL功能(在重新啟動計算機后ACL會失效),該命令配置分區支持ACL的語法如下.

mount -o remount,acl 分區

mount -o acl 分區 掛載點

使用mount命令讓一個分區臨時支持ACL功能時,可以使用以上二種方式.第一種使用在分區已經被掛載的情況,也就是說這個分區已經在使用但還不支持ACL功能,在不影響分區使用的情況下重新掛載分區使其支持ACL

功能;第二種使用在一開始掛載分區時就使其支持ACL功能.在下面的例子中使用mount命令使分區臨時ACL功能,在配置完成後,可通過“mount”命令查看.

l 使用mount命令使一個已經掛載的分區(

/dev/sda13)支持ACL功能.

[root@srv ~]# mount -o remount /dev/sda13

l 使用mount命令掛載/dev/sda14分區並支持ACL功能.

[root@srv ~]# mount -o acl /dev/sda14 /media/sda14

[root@srv ~]# mount #使用mount命令查看.

/dev/sda7 on / type ext3 (rw)

proc on /proc type proc (rw)

sysfs on /sys type sysfs (rw)

devpts on /dev/pts type devpts (rw,gid=5,mode=620)

/dev/sda8 on /tmp type ext3 (rw)

/dev/sda6 on /var type ext3 (rw)

/dev/sda3 on /home type ext3 (rw)

/dev/sda2 on /usr type ext3 (rw)

/dev/sda5 on /usr/local type ext3 (rw)

/dev/sda1 on /boot type ext3 (rw)

tmpfs on /dev/shm type tmpfs (rw)

/dev/sda10 on /media/sda10 type ext3 (rw)

/dev/sda11 on /media/sda11 type ext3 (rw,acl)

none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)

none on /proc/fs/vmblock/mountPoint type vmblock (rw)

sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)

#如果分區支持ACL功能時,在掛載信息中會顯示出來.

/dev/sda13 on /media/sda13 type ext3 (rw,acl)

/dev/sda14 on /media/sda14 type ext3 (rw,acl)

(3) 修改/etc/fstab文件,使分區永久支持ACL功能.在/etc/fstab文件中在需要支持

ACL功能分區的掛載選項列中加上“,acl”即可使分區永久支持ACL功能.在下面/etc/fstab文件的例子中/dev/sda10就支持ACL功能.在修改/etc/fstab

文件后,為了讓配置生效需要重新啟動計算機或使用“mount -o remount 分區”命令.

[root@srv ~]# cat /etc/fstab

LABEL=/

/

ext3

defaults

1 1

LABEL=/tmp

/tmp

ext3

defaults

1 2

LABEL=/var

/var

ext3

defaults

1 2

LABEL=/home

/home

ext3

defaults

1 2

LABEL=/usr

/usr

ext3

defaults

1 2

LABEL=/usr/local

/usr/local

ext3

defaults

1 2

LABEL=/boot

/boot

ext3

defaults

1 2

tmpfs

/dev/shm

tmpfs

defaults

0 0

devpts

/dev/pts

devpts

gid=5,mode=620

0 0

sysfs

/sys

sysfs

defaults

0 0

proc

/proc

proc

defaults

0 0

LABEL=SWAP-sda9

swap

swap

defaults

0 0

/dev/sda10

/media/sda10

ext3

defaults,acl

0 0

提示:通過tune2fs命令使分區支持ACL功能后,通過mount命令是無法查看到的,通過修改/etc/fstab使分區支持ACL功能后,通過mount命令可以查看到分區支持ACL功能.

setfacl:配置文件或目錄的ACL

在配置了分區支持ACL功能后,就可以使用setfacl命令讓文件或目錄使用ACL功能配置更精細的許可權.在Linux中對文件或目錄的許可權是可讀、可寫入、可執行,

ACL功能可對不用戶的用戶配置這些許可權,該命令語法如下.

setfacl [-bkdR] [{-m|-x} <ACL規則>] 文件|目錄...

常用選項:

l 文件

|目錄...:需要配置ACL的文件或目錄.

l -m:更改文件或目錄的ACL規則.

l -x:刪除文件或目錄指定的

ACL規則.

l -b:刪除文件或目錄所有ACL規則.

l -k:刪除文件或目錄默認的ACL規則.

l -d:指定文件或目錄默認的ACL規則.

l --test:測試模式,不會改變任何文件或目錄的ACL規則,操作后的ACL規格將被顯示.

l -R:遞歸處理,將指定目錄下的所有文件及子目錄一併處理.

在該命令中指定ACL規則可以使用以下幾種方式.

(1) [d:]u:<UID|用戶>:許可權:指定用戶的

ACL,[d:]表示配置用戶對文件或目錄的默認的ACL,許可權可以使用字元或數字.

(2) [d:]g:<GID|用戶組>:

許可權:指定用戶的ACL,[d:]表示配置用戶對文件或目錄的默認的ACL,許可權可以使用字元或數字.

(3) [d:]o:許可權:相關於普通許可權中其他用戶的許可權,

[d:]表示配置用戶對文件或目錄的默認的ACL,許可權可以使用字元或數字.

(4) [d:] m:許可權:指定有效許可權,[d:]表示配置的默認的許可權,許可權可以使用字元或數字.

本文出自 「相濡以沫」 博客,請務必保留此出處http://onlyzq.blog.51cto.com/1228/516965


[火星人 ] Linux系統中文件許可權ACL功能(上)。已經有587次圍觀

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