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ʵÔÚÊÇ×öµÃÏ൱²»´í£¡
frog ÓÚ 2005-09-08 08:53:18·¢±í:
ºÇºÇ£¬²»´í£¬²»¹ýдµÃÓе㸴ÔÓ¡£