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

ÉèÖÃLinuxϵͳϵÄÎļþȨÏÞ

·¢²¼Ê±¼ä:2007-02-02 10:17:15À´Ô´:ºìÁª×÷Õß:fitness
¡¡¡¡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¡£

¡¡¡¡²½Öè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ʵÔÚÊÇ×öµÃÏ൱²»´í£¡
ÎÄÕÂÆÀÂÛ

¹²ÓÐ 0 ÌõÆÀÂÛ