1. 程式人生 > >Linux學習之許可權管理-ACL許可權-簡介與開啟

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許可權