Ó¦ÓÃLinux ACL£º¸öÐÔ»¯ÎļþȨÏÞÖÎÀí
¡¶Linux ACLÓ¦ÓÃʵÀý£º¶¨ÖÆ»¯Îļþ»á¼ûȨÏÞ¡·
ÔÚLinuxϵͳÖУ¬ACL£¨Access Control List£©ÊÇÒ»ÖÖ¸üÎÞа¡¢¸üϸÄåµÄÎļþ»á¼û¿ØÖÆ·½·¨£¬ÔÊÐíÖÎÀíԱΪÿ¸öÎļþÉèÖòî±ðµÄȨÏÞ¡£Í¨¹ýACL£¬ÎÒÃÇ¿ÉÒÔʵÏÖ¶ÔÎļþµÄÔ½·¢Ï꾡µÄÖÎÀí£¬ÊµÏÖ¶¨ÖÆ»¯µÄÎļþ»á¼ûȨÏÞ¡£±¾ÎĽ«ÏÈÈÝÔõÑùÔÚLinuxϵͳÖÐʹÓÃACL£¬ÒÔ¼°¸ø³öһЩÏêϸµÄÓ¦ÓÃʵÀýºÍ´úÂëʾÀý¡£
1. ʲôÊÇACL
ACLÊÇÖ¸Access Control List£¬¼´»á¼û¿ØÖÆÁÐ±í¡£ËüÊÇÒ»ÖÖÎļþϵͳȨÏÞ¿ØÖÆ»úÖÆ£¬¿ÉÒÔʹÓû§ÔÚ»á¼ûÎļþºÍĿ¼ʱӵÓиü׼ȷµÄ¿ØÖÆ¡£ACL¿ÉÒÔΪÿ¸öÎļþºÍĿ¼É趨¶à¸öÓû§»òÓû§×éµÄȨÏÞ£¬´Ó¶øʵÏÖÔ½·¢ÎÞаµÄÎļþȨÏÞÖÎÀí¡£
2. ÉèÖÃACL
ÔÚLinuxϵͳÖУ¬ÒªÊ¹ÓÃACL¹¦Ð§£¬Ê×ÏÈÐèҪȷ±£Îļþϵͳ֧³ÖACL¡£´ó´ó¶¼ÏÖ´úLinux¿¯Ðа涼֧³ÖACL£¬¿ÉÒÔÔÚÎļþϵͳ¹ÒÔØʱͨ¹ýaclÑ¡ÏîÀ´ÆôÓÃACL¹¦Ð§¡£
ҪΪһ¸öÎļþ»òĿ¼ÉèÖÃACLȨÏÞ£¬¿ÉÒÔʹÓÃsetfaclÏÂÁî¡£Æä»ù±¾Óï·¨ÈçÏ£º
setfacl -m u:username:permissions filename
µÇ¼ºó¸´ÖÆ
ÆäÖУ¬u:usernameÌåÏÖΪָ¶¨µÄÓû§ÉèÖÃACLȨÏÞ£¬permissionsÌåÏÖȨÏÞµÄÏêϸÉèÖã¬filenameÌåÏÖ±»ÉèÖÃACLȨÏÞµÄÎļþ»òĿ¼¡£
3. Ó¦ÓÃʵÀý£ºÊ¹ÓÃACL¿ØÖÆÎļþ»á¼ûȨÏÞ
ʵÀýÒ»£ºÎªÌض¨Óû§ÉèÖöÁдȨÏÞ
¼ÙÉèÎÒÃÇÓÐÒ»¸öÎļþexample.txt£¬ÏÖÔÚҪΪÓû§user1ÉèÖöÁдȨÏÞ£¬ÎÒÃÇ¿ÉÒÔʹÓÃÒÔÏÂÏÂÁ
setfacl -m u:user1:rw example.txt
µÇ¼ºó¸´ÖÆ
ÕâÑù£¬Óû§user1¼´¿É¶Ôexample.txtÎļþ¾ÙÐжÁд²Ù×÷¡£
ʵÀý¶þ£ºÎªÌض¨Óû§×éÉèÖÃÌض¨È¨ÏÞ
¼ÙÉèÎÒÃÇÓÐÒ»¸öĿ¼example_dir£¬ÏÖÔÚҪΪÓû§×égroup1ÉèÖöÁдִÐÐȨÏÞ£¬ÎÒÃÇ¿ÉÒÔʹÓÃÒÔÏÂÏÂÁ
setfacl -m g:group1:rwx example_dir
µÇ¼ºó¸´ÖÆ
ÕâÑù£¬group1Óû§×éµÄ³ÉÔ±¼´¿É¶Ôexample_dirĿ¼¾ÙÐжÁ¡¢Ð´¡¢Ö´ÐвÙ×÷¡£
ʵÀýÈý£ºÉèÖÃĬÈÏACLȨÏÞ
ÓÐʱÎÒÃÇÏ£ÍûΪһ¸öĿ¼ÉèÖÃĬÈÏACLȨÏÞ£¬ÒÔÈ·±£Ð½¨ÉèµÄÎļþ¶¼×ñÕÕÏàͬµÄȨÏÞ¹æÔò¡£¿ÉÒÔʹÓÃÒÔÏÂÏÂÁîÀ´ÉèÖÃĬÈÏACLȨÏÞ£º
setfacl -d -m u::rwx,g::r-x,o::r-x /path/to/directory
µÇ¼ºó¸´ÖÆ
½áÓï
ͨ¹ýACL£¬ÎÒÃÇ¿ÉÒÔÔ½·¢ÎÞаµØ¿ØÖÆÎļþºÍĿ¼µÄ»á¼ûȨÏÞ£¬ÔÚÏÖʵӦÓÃÖпÉÒÔƾ֤ÐèÇó¶¨ÖÆ»¯»á¼ûȨÏÞ£¬Ìá¸ßÎļþÖÎÀíµÄÇå¾²ÐÔºÍ׼ȷÐÔ¡£Ï£Íû±¾ÎÄÏÈÈݵÄACLÓ¦ÓÃʵÀýºÍ´úÂëʾÀýÄÜ×ÊÖú¶ÁÕ߸üºÃµØÃ÷È·ºÍÓ¦ÓÃACL¹¦Ð§¡£
ÒÔÉϾÍÊÇÓ¦ÓÃLinux ACL£º¸öÐÔ»¯ÎļþȨÏÞÖÎÀíµÄÏêϸÄÚÈÝ£¬¸ü¶àÇë¹Ø×¢±¾ÍøÄÚÆäËüÏà¹ØÎÄÕ£¡