ÉîÈëÏàʶLinux ACL£ºÕÆÎÕ»á¼û¿ØÖÆÁбíµÄʹÓÃ
Linux ACLÏê½â£ºÕÆÎÕ»á¼û¿ØÖÆÁбíµÄ¹¦Ð§£¬ÐèÒªÏêϸ´úÂëʾÀý
ÔÚLinuxϵͳÖУ¬ACL£¨Access Control List£©ÊÇÒ»ÖÖÓÃÓÚÖÎÀíÎļþºÍĿ¼»á¼ûȨÏÞµÄÖ÷Òª»úÖÆ¡£¹Å°åµÄLinuxȨÏÞϵͳֻÓмòÆÓµÄrwxȨÏÞ£¬ÎÞ·¨Ï꾡µØ¿ØÖƲî±ðÓû§¶ÔÎļþºÍĿ¼µÄ»á¼ûȨÏÞ¡£¶øACLÔòÌṩÁËÔ½·¢ÎÞаºÍϸÄåµÄȨÏÞ¿ØÖÆ·½·¨£¬Ê¹µÃÖÎÀíÕß¿ÉÒÔÕë¶Ô²î±ðÓû§ºÍ×éÉèÖòî±ðµÄȨÏÞ¡£
Ò»¡¢ACLµÄ»ù±¾¿´·¨
ACLÏÖʵÉÏÊÇÒ»ÖÖÒÔÁбíÐÎʽ´æ´¢µÄȨÏÞÐÅÏ¢£¬Ã¿Ò»¸öÎļþ»òĿ¼¶¼¿ÉÒÔÓÐ×Ô¼ºµÄACL£¬¼Í¼×Å»á¼ûÕâ¸öÎļþ»òĿ¼µÄÓû§»ò×éµÄȨÏÞÐÅÏ¢¡£ACL¿ÉÒÔ¿ØÖƶÁ¡¢Ð´¡¢Ö´ÐеÈȨÏÞ£¬²¢ÇÒ¿ÉÒÔÉèÖüÌÐø¹æÔò£¬ÊµÏÖÔ½·¢Ï¸ÄåµÄȨÏÞÖÎÀí¡£
¶þ¡¢ACLµÄ»ù±¾²Ù×÷
Éó²éACL
ʹÓÃÏÂÁîgetfacl¿ÉÒÔÉó²éÖ¸¶¨Îļþ»òĿ¼µÄACLÐÅÏ¢£¬ÀýÈ磺
getfacl test_dir
µÇ¼ºó¸´ÖÆ
¸ÃÏÂÁî»áÏÔʾtest_dirĿ¼µÄACLÐÅÏ¢¡£
ÉèÖÃACL
ʹÓÃÏÂÁîsetfacl¿ÉÒÔÉèÖÃÎļþ»òĿ¼µÄACLÐÅÏ¢£¬Óï·¨ÈçÏ£º
setfacl -m u:user:permissions file
µÇ¼ºó¸´ÖÆ
ÆäÖУ¬u´ú±íÓû§£¬user´ú±íÏêϸÓû§£¬permissions´ú±íȨÏÞÉèÖá£ÀýÈ磬ÉèÖÃuser1¶Ôtest_fileÓжÁдȨÏÞ£º
setfacl -m u:user1:rw test_file
µÇ¼ºó¸´ÖÆ
ÉèÖÃÍê³Éºó£¬¿ÉÒÔʹÓÃgetfaclÉó²éȨÏÞÊÇ·ñÉúЧ¡£
ɾ³ýACL
ʹÓÃÏÂÁîsetfacl -x¿ÉÒÔɾ³ýÎļþ»òĿ¼µÄACLÐÅÏ¢£¬ÀýÈ磺
setfacl -x u:user1 test_file
µÇ¼ºó¸´ÖÆ
¸ÃÏÂÁî»áɾ³ýÓû§user1¶Ôtest_fileµÄACLÐÅÏ¢¡£
ĬÈÏACL
¿ÉÒÔΪĿ¼ÉèÖÃĬÈÏACL£¬ÕâÑùÔÚ¸ÃĿ¼Ï½¨ÉèµÄÎļþ»òĿ¼»á¼ÌÐø¸ÃĬÈÏACL¡£ÀýÈ磬Ϊtest_dirÉèÖÃĬÈÏACL£º
setfacl -d -m u:user1:rw test_dir
µÇ¼ºó¸´ÖÆ
Èý¡¢ACL´úÂëʾÀý
ÏÂÃæ¸ø³öÒ»¸öÍêÕûµÄACL´úÂëʾÀý£¬ÑÝʾÔõÑùʹÓÃACL¶ÔÎļþºÍĿ¼¾ÙÐÐȨÏÞ¿ØÖÆ¡£
# ½¨ÉèÒ»¸öÐÂÎļþ echo "This is a test file." > test_file # Éó²éĬÈÏACL getfacl test_file # ÉèÖÃuser1¶Ôtest_fileÓжÁдȨÏÞ setfacl -m u:user1:rw test_file # Éó²éACL getfacl test_file # ɾ³ýuser1¶Ôtest_fileµÄACLÐÅÏ¢ setfacl -x u:user1 test_file # ÔÙ´ÎÉó²éACL getfacl test_file # ɾ³ýÎļþ rm test_file
µÇ¼ºó¸´ÖÆ
ͨ¹ýÒÔÉÏ´úÂëʾÀý£¬ÎÒÃÇ¿ÉÒÔÇåÎúµØ¿´µ½ACLµÄ²Ù×÷°ì·¨ºÍЧ¹û¡£ÕÆÎÕÁËACLµÄ»ù±¾²Ù×÷£¬¾Í¿ÉÒÔÔ½·¢ÎÞаµØÖÎÀíÎļþºÍĿ¼µÄȨÏÞ£¬ÊµÏÖϸÄ廯µÄȨÏÞ¿ØÖÆ¡£
×ܽ᣺ACLÊÇLinuxϵͳÖÐÒ»¸öÖ÷ÒªµÄȨÏÞÖÎÀí»úÖÆ£¬Í¨¹ýACL¿ÉÒÔʵÏÖÔ½·¢ÎÞаºÍϸÄåµÄȨÏÞ¿ØÖÆ¡£ÔÚÏÖʵӦÓÃÖУ¬ºÏÀíµØʹÓÃACL¿ÉÒÔÌá¸ßϵͳµÄÇå¾²ÐÔºÍÖÎÀíЧÂÊ¡£Í¨¹ý±¾ÎĵÄÏÈÈݺʹúÂëʾÀý£¬Ï£Íû¶ÁÕßÄܹ»Ô½·¢ÉîÈëµØÏàʶACL£¬²¢ÎÞаÔËÓÃÓÚÏÖʵ³¡¾°ÖС£
ÒÔÉϾÍÊÇÉîÈëÏàʶLinux ACL£ºÕÆÎÕ»á¼û¿ØÖÆÁбíµÄʹÓõÄÏêϸÄÚÈÝ£¬¸ü¶àÇë¹Ø×¢±¾ÍøÄÚÆäËüÏà¹ØÎÄÕ£¡