¡¡¡¡ÓëÎļþϵͳÔÚÆäËû·½ÃæµÄ¼ÓÇ¿£¬ Èç¿ìÕÕµÈÒ»µÀ£¬ FreeBSD ÌṩÁËͨ¹ýÎļþϵͳ·ÃÎÊ¿ØÖƱí (ACL) ʵÏֵݲȫ»úÖÆ¡£
¡¡¡¡·ÃÎÊ¿ØÖƱíÒԸ߶ȼæÈÝ (POSIX®.1e) µÄ·½Ê½À©Õ¹Á˱ê×¼µÄ UNIX® ȨÏÞÄ£ÐÍ¡£ ÕâÒ»ÌØÐÔʹµÃ¹ÜÀíÔ±Äܹ»ÀûÓÃÆäÓÅÊÆÉè¼Æ¸üΪ¸´ÔӵݲȫģÐÍ¡£
¡¡¡¡Èç¹ûÏëΪ UFS ÎļþϵͳÆôÓà ACL Ö§³Ö£¬ ÔòÐèÒªÌí¼ÓÏÂÁÐÑ¡Ï
options UFS_ACL
¡¡¡¡²¢ÖØÐ±àÒëÄںˡ£ Èç¹ûûÓн«Õâ¸öÑ¡Ïî±àÒë½øÄںˣ¬ ÔòÔÚ¹Ò½ÓÖ§³Ö ACL µÄÎļþϵͳʱ½«»áÊÕµ½¾¯¸æ¡£ Õâ¸öÑ¡ÏîÔÚ GENERIC ÄÚºËÖÐÒѾ°üº¬ÁË¡£ ACL ÒÀÀµÓÚÔÚÎļþϵͳÉÏÆôÓÃÀ©Õ¹ÊôÐÔ¡£ ÔÚÐÂÒ»´úµÄ UNIX Îļþϵͳ£¬ UFS2 ÖÐÄÚ½¨ÁËÕâÖÖÖ§³Ö¡£
×¢Òâ: ÔÚ UFS1 ÉÏÅäÖÃÀ©Õ¹ÊôÐÔÐèÒª±È UFS2 ¸ü¶àµÄ¹ÜÀí¿ªÏú¡£ ¶øÇÒ£¬ ÔÚ UFS2 ÉϵÄÀ©Õ¹ÊôÐÔµÄÐÔÄÜÒ²Óм«´óµÄÌá¸ß¡£ Òò´Ë£¬ Èç¹ûÏëҪʹÓ÷ÃÎÊ¿ØÖÆ±í£¬ ÍÆ¼öʹÓà UFS2 ¶ø²»ÊÇ UFS1¡£
¡¡¡¡ACL ¿ÉÒÔÔÚ¹Ò½Óʱͨ¹ýÑ¡Ïî acls
À´Æô¶¯£¬ Ëü¿ÉÒÔ¼ÓÈë /etc/fstab¡£ ÁíÍ⣬
Ò²¿ÉÒÔͨ¹ýʹÓà tunefs(8) Ð޸ij¬¼¶¿éÖеÄ
ACL ±ê¼ÇÀ´³Ö¾ÃÐÔµØÉèÖÃ×Ô¶¯µÄ¹Ò½ÓÊôÐÔ¡£
Ò»°ã¶øÑÔ£¬ ºóÒ»ÖÖ·½·¨ÊÇÍÆ¼öµÄ×ö·¨£¬ ÆäÔÒòÊÇ£º
¹Ò½ÓʱµÄ ACL ±ê¼ÇÎÞ·¨±»ÖØ¹Ò½Ó (mount(8) -u
) ¸Ä±ä£¬ Ö»ÓÐÍêÕûµØ umount(8) ²¢×öÒ»´ÎеÄ
mount(8) ²ÅÄܸıäËü¡£
ÕâÒâζ×Å ACL ״̬ÔÚϵͳÆô¶¯Ö®ºó¾Í²»¿ÉÄÜÔÚ
root ÎļþϵͳÉÏ·¢Éú±ä»¯ÁË¡£ ÁíÍâҲûÓа취¸Ä±äÕýÔÚʹÓõÄÎļþϵͳµÄÕâ¸ö״̬¡£
ÔÚ³¬¼¶¿éÖеÄÉèÖý«Ê¹µÃÎļþϵͳ×ܱ»ÒÔÆôÓà ACL µÄ·½Ê½¹Ò½Ó£¬ ¼´Ê¹ÔÚ fstab ÖеĶÔÓ¦ÏîĿûÓÐ×÷ÉèÖ㬠»òÉ豸˳Ðò·¢Éú±ä»¯Ê±Ò²ÊÇÈç´Ë¡£ Õâ±ÜÃâÁ˲»É÷½«ÎļþϵͳÒÔûÓÐÆôÓà ACL µÄ״̬¹Ò½Ó£¬ ´Ó¶ø±ÜÃâûÓÐÇ¿ÖÆ ACL ÕâÑùµÄ°²È«ÎÊÌâ¡£
×¢Òâ: ¿ÉÒÔÐÞ¸Ä ACL ÐÐΪ£¬ ÒÔÔÊÐíÔÚûÓÐÖ´ÐÐÒ»´ÎÈ«Ð嵀 mount(8) µÄÇé¿öÏÂÆôÓÃËü£¬ µ«ÎÒÃÇÈÏΪ£¬ ²»¹ÄÀøÔÚδÆôÓà ACL ʱÕâô×öÊÇÓбØÒªµÄ£¬ ÒòΪÈç¹ûÆôÓÃÁË ACL£¬ È»ºó¹ØµôËü£¬ È»ºóÔÚûÓÐË¢ÐÂÀ©Õ¹ÊôÐÔµÄÇé¿öÏÂÖØÐÂÆôÓÃËüÊǺÜÈÝÒ×Ôì³ÉÎÊÌâµÄ¡£ Ò»°ã¶øÑÔ£¬ Ò»µ©ÆôÓÃÁËÎļþϵͳµÄ ACL ¾Í²»Ó¦¸ÃÔٹصôËü£¬ ÒòΪ´ËʱµÄÎļþϵͳµÄ±£»¤´ëÊ©¿ÉÄܺÍÓû§ËùÆÚ´ýµÄÑù×Ó²»ÔÙ¼æÈÝ£¬ ¶øÖØÐÂÆôÓà ACL ½«ÖØÐ°ÑÏÈǰµÄ ACL ¸½×ŵ½ÎļþÉÏ£¬ ¶øÓÉÓÚËüÃǵÄȨÏÞ·¢ÉúÁ˱仯£¬ ¾ÍºÜ¿ÉÄÜÔì³ÉÎÞ·¨Ô¤ÆÚµÄÐÐΪ¡£
¡¡¡¡Ôڲ鿴Ŀ¼ʱ£¬ ÆôÓÃÁË ACL µÄÎļþ½«ÔÚͨ³£µÄÊôÐÔºóÃæÏÔʾ + (¼ÓºÅ)¡£ ÀýÈ磺
drwx------ 2 robert robert 512 Dec 27 11:54 private drwxrwx---+ 2 robert robert 512 Dec 23 10:57 directory1 drwxrwx---+ 2 robert robert 512 Dec 22 10:20 directory2 drwxrwx---+ 2 robert robert 512 Dec 27 11:57 directory3 drwxr-xr-x 2 robert robert 512 Nov 10 11:54 public_html
¡¡¡¡ÕâÀïÎÒÃÇ¿´µ½ÁË directory1¡¢ directory2£¬ ÒÔ¼° directory3 Ŀ¼ʹÓÃÁË ACL¡£ ¶ø public_html ÔòûÓС£
¡¡¡¡Îļþϵͳ ACL ¿ÉÒÔʹÓà getfacl(1) ¹¤¾ßÀ´²é¿´¡£ ÀýÈ磬 Èç¹ûÏë²é¿´ test µÄ ACL ÉèÖ㬠ËùÓõÄÃüÁîÊÇ£º
% getfacl test #file: #owner:1001 #group:1001 user::rw- group::r-- other::r--
¡¡¡¡ÒªÐÞ¸ÄÕâ¸öÎļþÉ쵀 ACL ÉèÖ㬠ÔòÐèҪʹÓà setfacl(1) ¹¤¾ß¡£ ÀýÈ磺
% setfacl -k test
¡¡¡¡-k
²ÎÊý½«°ÑËùÓе±Ç°¶¨ÒåµÄ ACL ´ÓÎļþ»òÎļþϵͳÖÐɾ³ý¡£ Ò»°ãÀ´ËµÓ¦¸ÃʹÓà -b
ÒòΪËü»á±£³ÖÈà ACL
Õý³£¹¤×÷µÄÄÇЩÏî²»±ä¡£
% setfacl -m u:trhodes:rwx,group:web:r--,o::--- test
¡¡¡¡ÔÚÇ°ÃæµÄÃüÁîÖУ¬ -m Ñ¡Ïî±»ÓÃÀ´ÐÞ¸ÄĬÈ쵀 ACL Ïî¡£ÓÉÓÚÒѾ±»ÏÈǰµÄÃüÁî ɾ³ý£¬Òò´ËûÓÐÔ¤Ïȶ¨ÒåµÄÏÓÚÊÇĬÈϵÄÑ¡Ïî±»»Ö¸´£¬²¢¸½¼ÓÉÏÖ¸¶¨µÄÑ¡Ïî¡£ ÇëСÐĵؼì²é£¬Èç¹ûÄú¼ÓÈëÁËÒ»¸ö²»´æÔÚµÄÓû§»ò×飬ÄÇô½«»áÔÚ stdout µÃµ½Ò»Ìõ ¡°Invalid argument¡± µÄ´íÎóÌáʾ¡£
±¾ÎĵµºÍÆäËüÎĵµ¿É´ÓÕâÀïÏÂÔØ£ºftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.
Èç¹û¶ÔÓÚFreeBSDÓÐÎÊÌ⣬ÇëÏÈÔĶÁÎĵµ£¬Èç²»Äܽâ¾öÔÙÁªÏµ<questions@FreeBSD.org>.
¹ØÓÚ±¾ÎĵµµÄÎÊÌâÇë·¢ÐÅÁªÏµ <doc@FreeBSD.org>.