Linux學習之許可權管理-ACL許可權-簡介與開啟
許可權簡介與開啟:
基本許可權:使用者對檔案擁有的所有者、所屬組、其他人三類身份;
每個身份都有都有讀、寫、執行三種檔案讀寫許可權
還有對系統的umask 許可權
其他許可權:
一、ACL許可權
1、ACL許可權簡介
1)如上,有個專案需要某開發組專案組長、該組的成員共同完成,於是組長建立了一個
專案目錄/project,組長對該檔案具有最高許可權,成員擁有基本的讀寫執行許可權,
其他人對該專案只有比如讀的許可權。所以組長為檔案的所有者,具有讀寫執行許可權,
為了該組其他成員也可以參與進來,而檔案所有者只能有一個人,為了實現以上需求,
為該組成員建立了一個所屬組tgroup,把該組其他成員都作為附加組,加入到該組中,為該
組賦予讀寫執行許可權。而對於其他人,設定一個讀許可權。
而突然有一天,有個測試組成員需要加入到該專案開發組中,但是許可權和所有者、所屬組、其他人的
許可權都不同,怎麼辦?
此時,就用到了ACL許可權,專門用於身份不足的問題。
解決方案原理:類似於Windows中的許可權管理,忽略一個使用者的身份,只要找到某個檔案,
為該檔案為某個使用者自定義新增許可權即可。這個思路就和Linux中的ACL許可權一致。
2)檢視分割槽ACL許可權是否開啟
dumpe2fs -h /dev/sda3
#dumpe2fs 命令是查詢指定分割槽詳細檔案系統資訊的命令
選項:
-h 僅顯示超級塊中資訊,而不顯示磁碟塊組的詳細資訊
注:讀寫執行許可權是使用者操作檔案的許可權:
ACL許可權也是使用者操作檔案的許可權,但是是否支援ACL許可權,需要檔案所在的分割槽支援ACL許可權
示例:
df -h 查詢當前系統分割槽資訊
dumpe2fs -h /dev/sda 查詢分割槽ACL許可權是否開啟命令
查詢當前系統分割槽資訊
[[email protected] ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/VolGroup-lv_root
18G 7.7G 8.6G 48% /
tmpfs 931M 224K 931M 1% /dev/shm
/dev/sda1 477M 41M 411M 9% /boot
/dev/sr0 3.8G 3.8G 0 100% /media/CentOS_6.10_Final
[[email protected] ~]# dump
dump-acct dumpe2fs dumphint dumpiso dumpkeys dump-utmp
[[email protected] ~]# dumpe2fs -h /dev/s
scd0 sda1 sg0 shm/ snd/ stderr stdout
sda sda2 sg1 snapshot sr0 stdin systty
查詢sda2是否支援ACL許可權
[[email protected] ~]# dumpe2fs -h /dev/sda2
dumpe2fs 1.41.12 (17-May-2010)
dumpe2fs: Bad magic number in super-block 當嘗試開啟 /dev/sda2 時
找不到有效的檔案系統超級塊.
[[email protected] ~]# dumpe2fs -h /dev/sda
dumpe2fs 1.41.12 (17-May-2010)
dumpe2fs: Bad magic number in super-block 當嘗試開啟 /dev/sda 時
找不到有效的檔案系統超級塊.
通過以上發現,上面都不支援
執行下面命令,可以發現出來一堆內容,支援ACL分割槽
[[email protected] ~]# dumpe2fs -h /dev/sda1
dumpe2fs 1.41.12 (17-May-2010)
Filesystem volume name: <none>
Last mounted on: /boot
Filesystem UUID: ae089b3b-ead9-401d-b17f-80d4575f207f
Filesystem magic number: 0xEF53
Filesystem revision #: 1 (dynamic)
Filesystem features: has_journal ext_attr resize_inode dir_index filetype needs_recovery extent flex_bg sparse_super huge_file uninit_bg dir_nlink extra_isize
Filesystem flags: signed_directory_hash
Default mount options: user_xattr acl
Filesystem state: clean
Errors behavior: Continue
Filesystem OS type: Linux
Inode count: 128016
Block count: 512000
Reserved block count: 25600
Free blocks: 446288
Free inodes: 127977
First block: 1
Block size: 1024
Fragment size: 1024
Reserved GDT blocks: 256
Blocks per group: 8192
Fragments per group: 8192
Inodes per group: 2032
Inode blocks per group: 254
Flex block group size: 16
Filesystem created: Sun Nov 25 22:51:02 2018
Last mount time: Sun Dec 2 17:01:51 2018
Last write time: Sun Dec 2 17:01:51 2018
Mount count: 6
Maximum mount count: -1
Last checked: Sun Nov 25 22:51:02 2018
Check interval: 0 (<none>)
Lifetime writes: 62 MB
Reserved blocks uid: 0 (user root)
Reserved blocks gid: 0 (group root)
First inode: 11
Inode size: 128
Journal inode: 8
Default directory hash: half_md4
Directory Hash Seed: f81eaaf9-d505-402c-a40b-d89b78e49a13
Journal backup: inode blocks
Journal features: (none)
日誌大小: 8M
Journal length: 8192
Journal sequence: 0x00000035
Journal start: 0
[[email protected] ~]#
如上
Default mount options: user_xattr acl
該行顯示,該裝置,或者說分割槽預設支援ACL許可權
如果一個裝置或者分割槽預設不支援ACL許可權,如何主動開啟ACL許可權呢?
下面介紹
3、臨時開啟分割槽ACL許可權
二、檔案特殊許可權
三、檔案系統屬性chattr許可權
4四、系統命令sudo許可權