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

Linux acl ÎļþȨÏÞ

·¢²¼Ê±¼ä:2007-09-08 09:54:57À´Ô´:ºìÁª×÷Õß:Desktop
¡¡¡¡WindowsϵͳÆäʵºÍLinuxϵͳÓÐÏàËÆµÄµØ·½£¬WindowsϵͳÎļþ¡¢Ä¿Â¼µÄÊôÐÔÓÐÖ»¶Á¡¢Òþ²Ø£¬¶øLinuxÒ²Ò»Ñù¡£LinuxÖУ¬Ã¿Ò»¸öÎļþ¶¼¾ßÓÐÌØ¶¨µÄÊôÐÔ¡£Ö÷Òª°üÀ¨ÎļþÀàÐͺÍÎļþȨÏÞÁ½¸ö·½Ãæ¡£¿ÉÒÔ·ÖΪ5ÖÖ²»Í¬µÄÀàÐÍ£ºÆÕͨÎļþ¡¢Ä¿Â¼Îļþ¡¢Á´½ÓÎļþ¡¢É豸ÎļþºÍ¹ÜµÀÎļþ¡£ËùνµÄÎļþȨÏÞ£¬ÊÇÖ¸¶ÔÎļþµÄ·ÃÎÊȨÏÞ£¬°üÀ¨¶ÔÎļþµÄ¶Á¡¢Ð´¡¢É¾³ý¡¢Ö´ÐС£Linux ÊÇÒ»¸ö¶àÓû§²Ù×÷ϵͳ£¬ËüÔÊÐí¶à¸öÓû§Í¬Ê±µÇ¼ºÍ¹¤×÷¡£Òò´Ë Linux ½«Ò»¸öÎļþ»òĿ¼ÓëÒ»¸öÓû§»ò×éÁªÏµÆðÀ´¡£·ÃÎÊ¿ØÖÆÁбí(ACL£ºAccess Control List)Ϊ¼ÆËã»úÌṩ¸üºÃµÄ·ÃÎÊ¿ØÖÆ£¬ËüµÄ×÷ÓÃÊÇÏÞ

¡¡¡¡WindowsϵͳÆäʵºÍLinuxϵͳÓÐÏàËÆµÄµØ·½£¬WindowsϵͳÎļþ¡¢Ä¿Â¼µÄÊôÐÔÓÐÖ»¶Á¡¢Òþ²Ø£¬¶øLinuxÒ²Ò»Ñù¡£

¡¡¡¡LinuxÖУ¬Ã¿Ò»¸öÎļþ¶¼¾ßÓÐÌØ¶¨µÄÊôÐÔ¡£Ö÷Òª°üÀ¨ÎļþÀàÐͺÍÎļþȨÏÞÁ½¸ö·½Ãæ¡£¿ÉÒÔ·ÖΪ5ÖÖ²»Í¬µÄÀàÐÍ£ºÆÕͨÎļþ¡¢Ä¿Â¼Îļþ¡¢Á´½ÓÎļþ¡¢É豸ÎļþºÍ¹ÜµÀÎļþ¡£

¡¡¡¡ËùνµÄÎļþȨÏÞ£¬ÊÇÖ¸¶ÔÎļþµÄ·ÃÎÊȨÏÞ£¬°üÀ¨¶ÔÎļþµÄ¶Á¡¢Ð´¡¢É¾³ý¡¢Ö´ÐС£Linux ÊÇÒ»¸ö¶àÓû§²Ù×÷ϵͳ£¬ËüÔÊÐí¶à¸öÓû§Í¬Ê±µÇ¼ºÍ¹¤×÷¡£Òò´Ë Linux ½«Ò»¸öÎļþ»òĿ¼ÓëÒ»¸öÓû§»ò×éÁªÏµÆðÀ´¡£·ÃÎÊ¿ØÖÆÁбí(ACL£ºAccess Control List)Ϊ¼ÆËã»úÌṩ¸üºÃµÄ·ÃÎÊ¿ØÖÆ£¬ËüµÄ×÷ÓÃÊÇÏÞÖÆ°üÀ¨rootÓû§ÔÚÄÚµÄËùÓÐÓû§¶ÔÎļþ¡¢×ÊÔ´»òÕßÌ×½Ó×ֵķÃÎÊ¡£ÏÂÃæ¾ÍÀ´½Ì´ó¼Ò¼òµ¥µÄÉèÖ÷½·¨¡£

¡¡¡¡²½Öè1 ¼ì²éϵͳºËÐÄ

¡¡¡¡Ê×Ïȼì²éÄãµÄLinuxϵͳµÄºËÐÄÊÇ·ñÓÐÖ§³ÖACLµÄ¹¦ÄÜ¡£ÒòΪLinuxϵͳ²¢²»ÊÇÿһ¸ö°æ±¾µÄºËÐͼÓÐÖ§³ÖACLµÄ¹¦ÄÜ£¬¶ø×î¼òµ¥µÄ·½·¨¾ÍÊǼì²éϵͳĿǰµÄºËÐÄÄÜ·ñÖ§³Ö£º

¡¡¡¡[root@mail /]# cat /boot/config-kernel-version ¡¡ grep -i ext3

¡¡¡¡CONFIG_EXT3_FS=m

¡¡¡¡CONFIG_EXT3_IDEX=y

¡¡¡¡CONFIG_EXT3_FS_XATTR_SHARING=y

¡¡¡¡CONFIG_EXT3_FS_XATTR_USER=y

¡¡¡¡CONFIG_EXT3_FS_XATTR_TRUSTED=y

¡¡¡¡CONFIG_EXT3_FS_ACL=y

¡¡¡¡´ËʱÈç¹ûÄÜ¿´µ½ÉÏÃæµÄ¼¸ÏîÔò±íʾÒѾ­±àÒëµ½ºËÐÄÖÐ,ext3ÎļþϵͳÒÑÖ§³ÖACL¹¦ÄÜ£¬ÕâЩ¹¦ÄÜÔÚ±àÒëºËÐÄÑ¡ÏîÖж¼¿ÉÒÔÕÒµ½¡£Èç¹û±àÒëʱÕÒ²»µ½£¬¿ÉÒÔµ½ACLµÄ¹Ù·½ÍøÕ¾À´°²×°Kernel£¨http://acl.bestbits.at/£©¡£

²½Öè2 ¹ÒÔØ·ÖÇø

¡¡¡¡Äã¿ÉÒÔÓÃÏÂÁеķ½Ê½¹ÒÔØ·ÖÇø²¢ÆôÓÃACL£º
¡¡¡¡
¡¡¡¡#mount -t ext3 -o acl /dev/sda1 /fs1

¡¡¡¡ÄãÒ²¿ÉÒÔÖ±½ÓдÔÚ/etc/fstabÎļþÖÐ,ÕâÑù¾Í¿ÉÒÔÔÚ¿ª»úºóÖ§³ÖACL¹¦ÄÜ£º

¡¡¡¡#vi /etc/fstab

¡¡¡¡²½Öè3 ÉèÖÃACLȨÏÞ

¡¡¡¡ACL³£³£Õë¶Ô¸ö±ðÓû§À´½øÐÐÉèÖã¬ÏÂÃæÊǶà¸ö²»Í¬µÄÀý×Ó£º

¡¡¡¡ÀýÈçÐèÒª´´½¨test1¡¢test2¡¢test3Èý¸öÓû§£¬¿ÉÒÔÏÈÓÃrootÉí·ÝµÇ¼ϵͳ£¬È»ºóÖ´ÐÐÒÔÏÂÃüÁî·Ö±ð´´½¨Èý¸öÓû§ÃûºÍÃÜÂ룺

¡¡¡¡[root@mail root]#adduser test1

¡¡¡¡[root@mail root]#adduser test2

¡¡¡¡[root@mail root]#adduser test3

¡¡¡¡[root@mail root]#passwd test1

¡¡¡¡[root@mail root]#passwd test2

¡¡¡¡[root@mail root]#passwd test3

¡¡¡¡È»ºómountÒ»¸öext3Îļþµ½Ä¿Â¼/fs1£º

¡¡¡¡[root@mail root]#mount -t ext3 -o acl /dev/sda1 /fs1

¡¡¡¡ÔÙ½«test1 ½¨Á¢µÄÎļþÉèÖöÁдµÄȨÏÞ¸øtest2 £º

¡¡¡¡[root@mail root]#chmod -R 777 /fs1

¡¡¡¡ÈÃËùÓеÄÓû§¶¼ÄÜÔö¼ÓÎļþµ½Ä¿Â¼µÄȨÏÞ£º

¡¡¡¡ÏÈÓÃtest1µÇ¼ϵͳ£¬Ö´ÐÐÃüÁ

¡¡¡¡[test1@mail test1]# cd /fs1

¡¡¡¡[test1@mail fs1]# echo "Create by test1" > test1.txt

¡¡¡¡[test1@mail fs1]# chmod go-r test1.txt

¡¡¡¡[test1@mail fs1]# ll test1.txt

¡¡¡¡-rw------- 1 test1 test1 17 Jul 14 22:11 test1.txt

¡¡¡¡¶øÈçϲÙ×÷Ôò¿ÉÒÔÈóýÁËtest1ÓжÁдµÄȨÏÞÍâÆäËûÈËûÓжÁдtest1.txtµÄȨÏÞ£¨root³ýÍ⣩£¬ÏÈÓÃtest2 µÇ¼ϵͳºóÖ´ÐÐÒÔÏÂÃüÁ

¡¡¡¡[test2@mail test2]# cd /fs1

¡¡¡¡[test2@mail fs1]# cat test1.txt

¡¡¡¡cat : test1.txt Permission denied

¡¡¡¡½Ó×ÅÓÃtest1µÇ¼ϵͳ£¬Ö´ÐÐÈçÏÂÃüÁ

¡¡¡¡[test1@mail fs1]# setfacl -m u:test2:rw test1.txt

¡¡¡¡ÕâÑù¾ÍÐÞ¸ÄȨÏÞÔÊÐítest2 ÓÐÕâ¸öÎļþµÄ¶ÁдȨÏÞ¡£ÔÙ¿´Ò»ÏÂËüµÄÎļþÊôÐԵı仯£º

¡¡¡¡[test1@mail fs1]# ll

¡¡¡¡-rw-rw-r--+ 1 test1 test1 10 Feb 16 13:52 test1.txt

¡¡¡¡»á¿´µ½ºóÃæ¶àÁËÒ»¸ö¡°+¡±£¬±íʾÕâ¸öÎļþʹÓÃACLµÄÊôÐÔÉèÖã¬ÔÙÓÃÃüÁîgetfaclÀ´¿´ACLµÄÎļþÊôÐÔÉèÖãº

¡¡¡¡[test1@mail fs1]# getfacl test1.txt

¡¡¡¡# file: test1.txt

¡¡¡¡# owner: test1

¡¡¡¡# group: test1

¡¡¡¡user::rw-

¡¡¡¡user:test2:rw-

¡¡¡¡group::rw-

¡¡¡¡mask::rw-

¡¡¡¡other::r--

¡¡¡¡¿ÉÒÔ¿´µ½ test2 ÓÐȨÏÞ¶ÁдÕâ¸öÎļþ¡£

¡¡¡¡ÎÒÃÇÔÙÓÃtest2µÇ¼ϵͳִÐÐÒÔÏÂÃüÁ¿´¿´·¢ÉúÁËʲô£¿

¡¡¡¡[test2@mail test2]# cd /fs1

¡¡¡¡[test2@mail fs1]# cat test1.txt

¡¡¡¡Create by test1

¡¡¡¡Ô­À´test2¿ÉÒÔ¶ÁÈ¡test1.txtÎļþÁË¡£

¡¡¡¡[test2@mail fs1]# echo "Modify by test2" >> test1.txt

¡¡¡¡[test2@mail fs1]# cat test1.txt

¡¡¡¡Create by test1

¡¡¡¡Modify by test2

¡¡¡¡ÏÖÔÚtest2Ò²¿ÉÒÔÐÞ¸Ätest1.txtÎļþÁË¡£

¡¡¡¡½Ó×ÅÓÃtest3 µÇ¼ϵͳ£º

¡¡¡¡[test3@mail test3]# cd /fs1
¡¡¡¡
¡¡¡¡[test3@mail fs1]# cat test1.txt

¡¡¡¡cat : test1.txt Permission denied

¡¡¡¡ºÙºÙ£¬³ýÁËtest1¡¢test2ÍâûÓÐÆäËûÓû§ÓжÁдtest1.txtµÄȨÏÞ£¨root ³ýÍ⣩¡£

¡¡¡¡¿´×ÅËäÈ»ÓеãÔΣ¬ÆäʵÃüÁî¾ÍÊÇÕâôһÁ½Ìõ£¬Ö÷ÒªÊǰѸ÷ÖÖÇé¿ö¸ø´ó¼Ò½²Çå³þ£¬ÕâÑù£¬´ó¼ÒÔÚʹÓÃLinuxÖвŻᷢÏÖ£¬±ÈÆð´àÈõµÄWindowsµÄȨÏÞ·À»¤£¬LinuxʵÔÚÊÇ×öµÃÏ൱²»´í¡£
ÎÄÕÂÆÀÂÛ

¹²ÓÐ 1 ÌõÆÀÂÛ

  1. hnchuan ÓÚ 2011-02-14 20:42:17·¢±í:

    [i=s] ±¾Ìû×îºóÓÉ hnchuan ÓÚ 2011-2-15 10:22 ±à¼­ [/i]

    ÎÒ¸ÕÖªµÀÓÐÕâ¸ö¶«Î÷¡£ÇëÎÊÔõÑù¸ü¸ÄÎļþ¼ÐµÄACL°¡¡£
    ÎÒ/windowsÀïÓÐÈý¸öÎļþ¼ÐC/ D/ºÍE/£¬µ«ÊÇÎÒÖ»ÄܶÔC½øÐжÁд£¬¶ÔDºÍEÎÞ·¨Ð´¡£Èý¸öÎļþ¼ÐµÄȨÏÞ·Ö±ðÊÇ drwxrwxr-x 15, drwxr-xr-x 1, drwxr-xr-x 1.ÎÒÎÞÂÛÔõÑù¶¼ÎÞ·¨¸ü¸ÄDºÍEµÄȨÏÞ£¬ÓÐÈË˵ÊÇACLµÄÎÊÌ⣬ÇëÎÊÔõÑù²ÅÄܸü¸ÄDºÍEÎļþ¼ÐµÄACL°¡£¿£¿ÄǸö15ºÍ1ÊÇʲôÒâ˼°¡