ºìÁªLinuxÃÅ»§
Linux°ïÖú

Linux°²È«:Linux ACLµÄÌåÑé

·¢²¼Ê±¼ä:2006-12-14 09:45:10À´Ô´:ºìÁª×÷Õß:userhq
¡¡¡¡ÔÚ°²È«¹ÜÀíÈÕÒæÖØÒªµÄ½ñÌ죬´«Í³µÄ Unix ÎļþϵͳµÄ UGO ȨÏÞ¹ÜÀí·½Ê½ÒѾ­ÎÞ·¨Âú×ãÈÕ³£ÏµÍ³¹ÜÀí¹¤×÷µÄÐèÒª¡£¶ø ACL »úÖÆÖð½¥³ÉΪÖ÷Á÷µÄȨÏÞ¹ÜÀí·½Ê½¡£±¾ÎÄÖ÷Òª½éÉÜÁËÔÚ»ùÓÚ Linux2.6 Äں˵ķ¢Ðаæ Fedora Core ÉϽøÐеÄһЩ ACL »ù±¾¹¦ÄܵÄʵÑé¡£

¡¡¡¡ACL ¼ò½é

¡¡¡¡Óû§È¨ÏÞ¹ÜÀíʼÖÕÊÇ Unix ϵͳ¹ÜÀíÖÐ×îÖØÒªµÄ»·½Ú¡£´ó¼Ò¶Ô Linux/Unix µÄ UGO ȨÏÞ¹ÜÀí·½Ê½Ò»¶¨²»Ä°Éú£¬»¹ÓÐ×î³£ÓÃµÄ chmod ÃüÁΪÁËʵÏÖһЩ±È½Ï¸´ÔÓµÄȨÏÞ¹ÜÀí£¬ÍùÍù²»µÃ²»´´½¨ºÜ¶àµÄ×飬²¢¼ÓÒÔÏêϸµÄ¼Ç¼ºÍÇø·Ö£¨ºÜ¶àʱºò¾ÍÊǹÜÀíÔ±µÄجÃΣ©¡£¿ÉÒÔÕë¶Ôijһ¸öÓû§¶ÔijһÎļþÖ¸¶¨Ò»¸öȨÏÞ£¬¿ÖŹÜÀíÔ±¶¼ÆÚ´ýµÄ¹¦ÄÜ¡£±ÈÈç¶Ôijһ¸öÌØ¶¨µÄÎļþ£¬Óû§A¿ÉÒÔ¶ÁÈ¡£¬Óû§BËùÔÚµÄ×é¿ÉÒÔÐ޸ģ¬Î©¶ÀÓû§B²»¿ÉÒÔ¡­¡­¡£ÓÚÊǾÍÓÐÁËIEEE POSIX 1003.1eÕâ¸öACLµÄ±ê×¼¡£ËùνACL£¬¾ÍÊÇAccess Control List£¬Ò»¸öÎļþ/Ŀ¼µÄ·ÃÎÊ¿ØÖÆÁÐ±í£¬¿ÉÒÔÕë¶ÔÈÎÒâÖ¸¶¨µÄÓû§/×é·ÖÅäRWXȨÏÞ¡£ÏÖÔÚÖ÷Á÷µÄÉÌÒµUnixϵͳ¶¼Ö§³ÖACL¡£FreeBSDÒ²ÌṩÁ˶ÔACLµÄÖ§³Ö¡£LinuxÔÚÕâ¸ö·½ÃæÒ²²»»áÂäºó£¬´Ó2.6°æÄں˿ªÊ¼Ö§³ÖACL¡£

¡¡¡¡×¼±¸¹¤×÷

¡¡¡¡Ö§³ÖACLÐèÒªÄں˺ÍÎļþϵͳµÄÖ§³Ö¡£ÏÖÔÚ2.6ÄÚºËÅäºÏEXT2/EXT3, JFS, XFS, ReiserFSµÈÎļþϵͳ¶¼ÊÇ¿ÉÒÔÖ§³ÖACLµÄ¡£ÓÃ×Ô¼º¹¤×÷ÓõÄÎïÀí·ÖÇøÌåÑéACL£¬×ÜÊDz»Ã÷ÖǵÄÐÐΪ¡£ÍòÒ»Îó²Ù×÷µ¼Ö·ÖÇøµÄË𻵣¬Ôì³ÉÊý¾ÝµÄ¶ªÊ§£¬Ëðʧ¾Í´óÁË¡£×÷Ò»¸öloopÉ豸ÊǸö°²È«µÄÌæ´ú·½·¨¡£ÕâÑù²»ÐèÒªÒ»¸öµ¥¶ÀµÄ·ÖÇø£¬Ò²²»ÐèÒªºÜ´óµÄÓ²Å̿ռ䣬´óÔ¼Óиö¼¸°ÙKB¾Í×ã¹»½øÐÐÎÒÃǵÄÌåÑéÁË¡£OK£¬ÏÂÃæÎÒʹÓÃFedora Core 5ºÍExt3Îļþ¿ªÊ¼¶ÔLinuxµÄACLµÄÌåÑé¡£

¡¡¡¡Ê×ÏÈ´´½¨Ò»¸ö512KBµÄ¿Õ°×Îļþ£º

ÒýÓÃ:
[root@FC3-vm opt]# dd if=/dev/zero of=/opt/testptn count=512
512+0 records in
512+0 records out


¡¡¡¡ºÍÒ»¸öloopÉ豸ÁªÏµÔÚÒ»Æð£º

ÒýÓÃ:
[root@FC3-vm opt]# losetup /dev/loop0 /opt/testptn


¡¡¡¡´´½¨Ò»¸öEXT2µÄÎļþϵͳ£º

ÒýÓÃ:
[root@FC3-vm opt]# mke2fs /dev/loop0
mke2fs 1.35 (28-Feb-2004)
max_blocks 262144, rsv_groups = 32, rsv_gdb = 0
Filesystem label=
OS type: Linux
Block size=1024 (log=0)
Fragment size=1024 (log=0)
32 inodes, 256 blocks
12 blocks (4.69%) reserved for the super user
First data block=1
1 block group
8192 blocks per group, 8192 fragments per group
32 inodes per group

Writing inode tables: done
Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 30 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.


¡¡¡¡¹ÒÔØÐ½¨µÄÎļþϵͳ£¨×¢ÒâmountÑ¡ÏîÀïµÄacl±êÖ¾£¬ÎÒÃÇ¿¿ËüÀ´Í¨ÖªÄÚºËÎÒÃÇÐèÒªÔÚÕâ¸öÎļþϵͳÖÐʹÓÃACL£©£º

ÒýÓÃ:
[root@FC3-vm opt]# mount -o rw,acl /dev/loop0 /mnt
[root@FC3-vm opt]# cd /mnt
[root@FC3-vm mnt]# ls
lost+found


¡¡¡¡ÏÖÔÚÎÒÒѾ­µÃµ½ÁËÒ»¸öСÐ͵ÄÎļþϵͳ¡£¶øÇÒÊÇÖ§³ÖACLµÄ¡£²¢ÇÒ¼´Ê¹³¹µ×Ëð»µÒ²²»»áÓ°ÏìÓ²ÅÌÉÏÆäËûÓмÛÖµµÄÊý¾Ý¡£¿ÉÒÔ¿ªÊ¼ÎÒÃǵÄACLÌåÑéÖ®ÂÃÁË¡£
ÎÄÕÂÆÀÂÛ

¹²ÓÐ 3 ÌõÆÀÂÛ

  1. userhq ÓÚ 2006-12-14 09:49:20·¢±í:

    ¡¡¡¡ÌåÑé3 £­ Ŀ¼µÄĬÈÏACL

    ¡¡¡¡Èç¹ûÎÒÃÇÏ£ÍûÔÚÒ»¸öĿ¼ÖÐн¨µÄÎļþºÍĿ¼¶¼Ê¹ÓÃͬһ¸öÔ¤¶¨µÄACL£¬ÄÇôÎÒÃÇ¿ÉÒÔʹÓÃĬÈÏ(Default) ACL¡£ÔÚ¶ÔÒ»¸öĿ¼ÉèÖÃÁËĬÈϵÄACLÒÔºó£¬Ã¿¸öÔÚĿ¼Öд´½¨µÄÎļþ¶¼»á×Ô¶¯¼Ì³ÐĿ¼µÄĬÈÏACL×÷Ϊ×Ô¼ºµÄACL¡£ÓÃsetfaclµÄ-dÑ¡Ïî¾Í¿ÉÒÔ×öµ½ÕâÒ»µã£º

    ÒýÓÃ:
    [root@FC3-vm mnt]# setfacl -d --set g:testg1:rwx dir1
    [root@FC3-vm mnt]# getfacl dir1
    # file: dir1
    # owner: root
    # group: root
    user::rwx
    group::r-x
    other::r-x
    default:user::rwx
    default:group::r-x
    default:group:testg1:rwx
    default:mask::rwx
    default:other::r-x


    ¡¡¡¡¿ÉÒÔ¿´µ½Ä¬ÈÏACLÒѾ­±»ÉèÖÃÁË¡£½¨Á¢Ò»¸öÎļþÊÔÊÔ£º

    ÒýÓÃ:
    [root@FC3-vm mnt]# touch dir1/file1
    [root@FC3-vm mnt]# getfacl dir1/file1
    # file: dir1/file1
    # owner: root
    # group: root
    user::rw-
    group::r-x #effective:r--
    group:testg1:rwx #effective:rw-
    mask::rw-
    other::r--


    ¡¡¡¡file1×Ô¶¯¼Ì³ÐÁËdir1¶Ôtestg1ÉèÖõÄACL¡£Ö»ÊÇÓÉÓÚmaskµÄ´æÔÚʹµÃtestg1Ö»ÄÜ»ñµÃrw-ȨÏÞ¡£

    ¡¡¡¡ÌåÑé4 £­ ±¸·ÝºÍ»Ö¸´ACL

    ¡¡¡¡Ö÷ÒªµÄÎļþ²Ù×÷ÃüÁîcpºÍmv¶¼Ö§³ÖACL£¬Ö»ÊÇcpÃüÁîÐèÒª¼ÓÉÏ-p ²ÎÊý¡£µ«ÊÇtarµÈ³£¼ûµÄ±¸·Ý¹¤¾ßÊDz»»á±£ÁôĿ¼ºÍÎļþµÄACLÐÅÏ¢µÄ¡£Èç¹ûÏ£Íû±¸·ÝºÍ»Ö¸´´øÓÐACLµÄÎļþºÍĿ¼£¬ÄÇô¿ÉÒÔÏȰÑACL±¸·Ýµ½Ò»¸öÎļþÀï¡£ÒÔºóÓÃ--restoreÑ¡ÏîÀ´»Ø¸´Õâ¸öÎļþÖб£´æµÄACLÐÅÏ¢£º

    ÒýÓÃ:
    [root@FC3-vm mnt]# getfacl -R dir1 > dir1.acl
    [root@FC3-vm mnt]# ls -l dir1.acl
    total 16
    -rw-r--r-- 1 root root 310 Dec 12 21:10 dir1.acl


    ¡¡¡¡ÎÒÃÇÓÃ-bÑ¡Ïîɾ³ýËùÓеÄACLÊý¾Ý£¬À´Ä£Äâ´Ó±¸·ÝÖлظ´µÄÎļþºÍĿ¼£º

    ÒýÓÃ:
    [root@FC3-vm mnt]# setfacl -R -b dir1
    [root@FC3-vm mnt]# getfacl -R dir1
    # file: dir1
    # owner: root
    # group: root
    user::rwx
    group::r-x
    other::r-x

    # file: dir1/file1
    # owner: root
    # group: root
    user::rw-
    group::r--
    other::r--


    ¡¡¡¡ÏÖÔÚÎÒÃÇ´Ódir1.aclÖлָ´±»É¾³ýµÄACLÐÅÏ¢£º

    ÒýÓÃ:
    [root@FC3-vm mnt]# setfacl --restore dir1.acl
    [root@FC3-vm mnt]# getfacl -R dir1
    # file: dir1
    # owner: root
    # group: root
    user::rwx
    group::r-x
    other::r-x
    default:user::rwx
    default:group::r-x
    default:group:testg1:rwx
    default:mask::rwx
    default:other::r-x

    # file: dir1/file1
    # owner: root
    # group: root
    user::rw-
    group::r-x #effective:r--
    group:testg1:rwx #effective:rw-
    mask::rw-
    other::r--


    ¡¡¡¡½áÓï

    ¡¡¡¡ACL µÄÒýÈëʹµÃ´ó¹æÄ£µÄ¸´ÔÓȨÏÞ¹ÜÀí¿ÉÒÔºÜÈÝÒ×µÄÔÚ Linux ÉÏʵÏÖ¡£¶ÔÓÚ /home ÕâÑù´æ·Å´óÁ¿Óû§ÎļþµÄ·ÖÇø£¬¿ÉÒÔ×öµ½¸üÓÐЧµÄ¹ÜÀí¡£µ«ÊÇÎÒÃÇÒ²¿´µ½ÔÚ±¸·Ý¹¤¾ßµÈ·½ÃæµÄǷȱ£¬ºÃÔÚ FC2 ÖÐÒѾ­¿ªÊ¼°üº¬ÁË star ÕâÑùµÄÖ§³Ö ACL µÄ±¸·Ý¹¤¾ß£¬ËäÈ»»¹ÊÇ alpha °æ¡£

    ¡¡¡¡ÔÚµ¥¸öÎļþµÄ ACL ÌõÄ¿µÄÊýÁ¿ÉÏ£¬²»Í¬µÄÎļþϵͳÓв»Í¬µÄÏÞÖÆ¡£Ext2 ºÍ Ext3 Ö»ÄÜÖ§³Öÿ¸öÎļþ 25 ¸ö ACL ÌõÄ¿¡£ReiserFS ºÍ JFS ¿ÉÒÔÖ§³Ö³¬¹ý 8,000 ¸öÌõÄ¿¡£Õâ¸ö·½Ãæ Ext* Îļþϵͳ»¹ÐèÒª¼ÓÇ¿¡£

    ¡¡¡¡ÎÞÂÛ¶àô¸´ÔÓµÄϵͳÖУ¬ÎļþϵͳµÄȨÏÞ¹ÜÀí¶¼ÊÇ×î»ù´¡µÄÄÚÈÝ¡£¶ø Linux ¶Ô ACLµÄÖ§³Ö£¬ÎÞÒÉÊÇÒ»°Ñ¹ÜÀíº£Á¿Óû§ÏµÍ³µÄÀûÆ÷£¬¶Ô Linux ÔÚ´ó¹æÄ£µÄÆóÒµ¼¶Ó¦ÓÃÖиü·½±ãµÄ·¢»Ó¸ü´óµÄ×÷ÓÃÌíÁËÒ»°Ñ»ð¡£

  2. userhq ÓÚ 2006-12-14 09:47:57·¢±í:

    ¡¡¡¡¿ÉÒÔ¿´µ½ÉèÖúóµÄȨÏÞ£¬testu1ÒѾ­ÓÐÁËÖ´ÐеÄȨÏÞ£¬¶øtestg1Õâ¸ö×éÒ²»ñµÃÁ˶ÁÈ¡ÎļþÄÚÈݵÄȨÏÞ¡£Ò²ÐíÓÐÈËÒѾ­×¢Òâµ½ÁËÁ½¸öÎÊÌ⣺Ê×ÏÈ£¬ file1µÄ×éȨÏÞ´Ór--±ä³ÉÁËrw-¡£Æä´Î£¬maskÊÇʲô£¿ÎªÊ²Ã´Ò²±ä»¯ÁËÄØ£¿ÎÒÃÇÏÈ´Ómask˵Æð¡£Èç¹û˵aclµÄÓÅÏȼ¶¸ßÓÚUGO£¬ÄÇô mask¾ÍÊÇÒ»¸öÃû¸±ÆäʵµÄ×îºóÒ»µÀ·ÀÏß¡£Ëü¾ö¶¨ÁËÒ»¸öÓû§/×éÄܹ»µÃµ½µÄ×î´óµÄȨÏÞ¡£ÕâÑùÎÒÃÇÔÚ²»ÆÆ»µÒÑÓÐACLµÄ¶¨ÒåµÄ»ù´¡ÉÏ£¬¿ÉÒÔÁÙʱÌá¸ß»òÊǽµµÍ°²È«¼¶±ð£º

    ÒýÓÃ:
    [root@FC3-vm mnt]# setfacl -m mask::r file1
    [root@FC3-vm mnt]# getfacl file1
    # file: file1
    # owner: root
    # group: root
    user::rw-
    user:testu1:rwx #effective:r--
    group::r--
    group:testg1:r--
    mask::r--
    other::r--

    [root@FC3-vm mnt]# ls -l file1
    -rw-r--r--+ 1 root root 7 Dec 11 00:28 file1


    ¡¡¡¡ÔÚtestu1¶ÔÓ¦µÄACLÏîµÄºó±ß³öÏÖÁËeffectiveµÄ×ÖÑù£¬ÕâÊÇʵ¼Êtestu1µÃµ½µÄȨÏÞ¡£MaskÖ»¶ÔÆäËûÓû§ºÍ×éµÄȨÏÞÓÐÓ°Ï죬¶ÔownerºÍotherµÄȨÏÞÊÇûÓÐÈκÎÓ°ÏìµÄ¡£Ö´ÐÐlsµÄ½á¹ûÒ²ÏÔʾUGOµÄÉèÖÃÒ²ÓÐÁ˶ÔÓ¦µÄ±ä»¯¡£ÒòΪÔÚʹÓÃÁËACLµÄÇé¿öÏ£¬groupµÄȨÏÞÏÔʾµÄ¾ÍÊǵ±Ç°µÄmask¡£Í¨³£ÎÒÃǰÑmaskÉèÖóÉrwx£¬ÒÔ²»×èÖ¹Èκεĵ¥¸öACLÏî¡£

    ¡¡¡¡*ÐèҪעÒâµÄÊÇ£¬Ã¿´ÎÐ޸ĻòÌí¼Óij¸öÓû§»ò×éµÄACLÏîµÄʱºò£¬mask¶¼»áËæÖ®ÐÞ¸ÄÒÔʹ×îеÄÐÞ¸ÄÄܹ»ÕæÕýÉúЧ¡£ËùÒÔÈç¹ûÐèÒªÒ»¸ö±È½ÏÑϸñµÄmaskµÄ»°£¬¿ÉÄÜÐèҪÿ´Î¶¼ÖØÐÂÉèÖÃÒ»ÏÂmask¡£

    ¡¡¡¡ÌåÑé2 £­ ACLµÄÆäËû¹¦ÄÜ£ºÉ¾³ýºÍ¸²¸Ç

    ¡¡¡¡ÎÒÃÇÀ´¿´Ò»ÏÂÆäËûµÄACL²Ù×÷¡£Ê×ÏÈÈçºÎɾ³ýÒÑÓеÄACLÏîÄØ£¿

    ÒýÓÃ:
    [root@FC3-vm mnt]# setfacl -x g:testg1 file1
    [root@FC3-vm mnt]# getfacl file1
    # file: file1
    # owner: root
    # group: root
    user::rw-
    user:testu1:rwx
    group::r--
    mask::rwx
    other::r--


    ¡¡¡¡ÎÒÃÇ¿´µ½testg1µÄȨÏÞÒѾ­±»È¥µôÁË¡£Èç¹ûÐèҪȥµôËùÓеÄACL¿ÉÒÔÓÃ-bÑ¡Ïî¡£ËùÓеÄACLÏî¶¼»á±»È¥µô¡£

    ÒýÓÃ:
    [root@FC3-vm mnt]# setfacl -b file1
    [root@FC3-vm mnt]# getfacl file1
    # file: file1
    # owner: root
    # group: root
    user::rw-
    group::r--
    other::r--


    ¡¡¡¡ÎÒÃÇ¿ÉÒÔÓÃ--set ÉèÖÃһЩеÄACLÏ²¢°ÑÔ­ÓеÄACLÏîÈ«²¿¶¼¸²¸Çµô¡£ºÍ-m²»Í¬£¬-mÑ¡ÏîÖ»ÊÇÐÞ¸ÄÒÑÓеÄÅäÖûòÊÇÐÂÔö¼ÓһЩ¡£--setÑ¡Ïî»á°ÑÔ­ÓеÄACLÏɾ³ý£¬ÓÃеÄÌæ´ú£¬ÐèҪעÒâµÄÊÇÒ»¶¨Òª°üº¬UGOµÄÉèÖ㬲»ÄÜÏó-mÒ»ÑùÖ»ÊÇÌí¼ÓACL¾Í¿ÉÒÔÁË¡£±ÈÈçϱßÕâÒ»¶Î£º

    ÒýÓÃ:
    [root@FC3-vm mnt]# setfacl --set u::rw,u:testu1:rw,g::r,o::- file1
    [root@FC3-vm mnt]# getfacl file1
    # file: file1
    # owner: root
    # group: root
    user::rw-
    user:testu1:rw-
    group::r--
    mask::rw-
    other::---


    ¡¡¡¡o::-ÊÇÁíÒ»¸öÐèҪעÒâµÄµØ·½¡£ÆäʵÍêÕûµÄд·¨ÊÇother::---£¬ÕýÈçu::rwµÄÍêÕûд·¨ÊÇuser::rw-¡£Í¨³£ÎÒÃÇ¿ÉÒÔ°Ñ"-"Ê¡ÂÔ£¬µ«Êǵ±È¨ÏÞλֻ°üº¬"-"ʱ£¬±ØÐëÖÁÉÙ±£ÁôÒ»¸ö¡£Èç¹ûд³ÉÁËo::£¬¾Í»á³öÏÖ´íÎó¡£

    ¡¡¡¡Èç¹ûÏ£Íû¶ÔĿ¼ÏµÄËùÓÐ×ÓĿ¼¶¼ÉèÖÃͬÑùµÄACL£¬¿ÉÒÔʹÓÃ-R²ÎÊý£º

    ÒýÓÃ:
    [root@FC3-vm mnt]# setfacl --set u::rw,u:testu1:rw,g::r,o::- dir1


    ¡¡¡¡Èç¹ûÏ£ÍûÄÜ´ÓÒ»¸öÎļþÀ´¶ÁÈëACL£¬²¢Ð޸ĵ±Ç°µÄÎļþµÄACL£¬¿ÉÒÔÓÃ-M²ÎÊý£º

    ÒýÓÃ:
    [root@FC3-vm mnt]# cat test.acl
    user:testu1:rw-
    user:testu2:rw-
    group:testg1:r--
    group:testg2:r--
    mask::rw-
    other::---

  3. userhq ÓÚ 2006-12-14 09:46:33·¢±í:

    ¡¡¡¡ÌåÑé1 £­ ACLµÄ»ù±¾²Ù×÷£ºÌí¼ÓºÍÐÞ¸Ä

    ¡¡¡¡ÎÒÊ×ÏÈн¨Ò»¸öÎļþ×÷ΪʵʩACLµÄ¶ÔÏó£º

    ÒýÓÃ:
    [root@FC3-vm mnt]# touch file1
    [root@FC3-vm mnt]# ls -l file1
    -rw-r--r-- 1 root root 7 Dec 11 00:28 file1


    ¡¡¡¡È»ºó¿´Ò»ÏÂÕâ¸öÎļþȱʡµÄACL£¬ÕâʱÕâ¸öÎļþ³ýÁËͨ³£µÄUGOµÄȨÏÞÖ®Í⣬²¢Ã»ÓÐACL£º

    ÒýÓÃ:
    [root@FC3-vm mnt]# getfacl file1
    # file: file1
    # owner: root
    # group: root
    user::rw-
    group::r--
    other::r-


    ¡¡¡¡*×¢Ò⣺¼´Ê¹ÊDz»Ö§³ÖACLµÄÇé¿öÏ£¬getfaclÈÔÈ»ÄÜ·µ»ØÒ»¸öÕâÑùµÄ½á¹û¡£²»¹ýsetfaclÊDz»Äܹ¤×÷µÄ¡£

    ¡¡¡¡ÏÂÃæÌí¼Ó¼¸¸öÓû§ºÍ×飬һ»áÎÒ½«Ê¹ÓÃACL¸³ÓèËûÃDz»Í¬µÄȨÏÞ£º

    ÒýÓÃ:
    [root@FC3-vm mnt]# groupadd testg1
    [root@FC3-vm mnt]# useradd testu1
    [root@FC3-vm mnt]# useradd testu2
    [root@FC3-vm mnt]# usermod -G testg1 testu1


    ¡¡¡¡ÏÖÔÚÎÒÃÇ¿´¿´testu1ÄÜ×öʲô£º

    ÒýÓÃ:
    [root@FC3-vm mnt]# su testu1
    [testu1@FC3-vm mnt]$ echo "testu1" >> file1
    bash: file1: Permission denied


    ¡¡¡¡Ê§°ÜÁË¡£ÒòΪfile1²¢²»ÔÊÐí³ýÁËrootÒÔÍâµÄÓû§Ð´¡£ÎÒÃÇÏÖÔÚ¾Íͨ¹ýÐÞ¸Äfile1µÄACL¸³Óètestu1×ã¹»µÄȨÏÞ£º

    ÒýÓÃ:
    [root@FC3-vm mnt]# setfacl -m u:testu1:rw file1
    [root@FC3-vm mnt]# su testu1
    [testu1@FC3-vm mnt]$ echo "testu1" >> file1
    [testu1@FC3-vm mnt]$ cat file1
    testu1


    ¡¡¡¡Ð޸ijɹ¦ÁË£¬Óû§testu1¿ÉÒÔ¶Ôfile1×ö¶Áд²Ù×÷ÁË¡£ÎÒÃÇÀ´¿´Ò»ÏÂfile1µÄACL£º

    ÒýÓÃ:
    [testu1@FC3-vm mnt]$ getfacl file1
    # file: file1
    # owner: root
    # group: root
    user::rw-
    user:testu1:rw-
    group::r--
    mask::rw-
    other::r-


    ¡¡¡¡ÎÒÃÇls¿´Ò»Ï£º

    ÒýÓÃ:
    [root@FC3-vm mnt]# ls -l file1
    -rw-rw-r--+ 1 root root 7 Dec 11 00:28 file1


    ¡¡¡¡¿ÉÒÔ¿´µ½ÄǸö"+"ÁËô£¿¾ÍÔÚͨ³£ÎÒÃÇ¿´µ½µÄȨÏÞλµÄÅԱߡ£Õâ¸ö˵Ã÷file1ÉèÖÃÁËACL£¬ ½ÓÏÂÀ´ÎÒÃÇÐÞ¸ÄÒ»ÏÂtestu1µÄȨÏÞ£¬Í¬Ê±¸øtestg1Õâ¸ö×éÒÔ¶ÁµÄȨÏÞ£º

    ÒýÓÃ:
    [root@FC3-vm mnt]# setfacl -m u:testu1:rwx,g:testg1:r file1
    [root@FC3-vm mnt]# getfacl file1
    # file: file1
    # owner: root
    # group: root
    user::rw-
    user:testu1:rwx
    group::r--
    group:testg1:r--
    mask::rwx
    other::r-