¶øÔÚÕâÒ»¸´ÔÓµÄȨÏÞÌåϵÖУ¬ÓÐЧ×飨Effective Group£©°çÑÝמÙ×ãÇáÖØµÄ½ÇÉ«
Àí½â²¢ÕýÈ·ÅäÖÃÓÐЧ×飬²»½öÄܹ»°ïÖúϵͳ¹ÜÀíÔ±¾«Ï¸¿ØÖÆÓû§¶ÔÎļþºÍĿ¼µÄ·ÃÎÊȨÏÞ£¬»¹ÄÜÔÚ¶àÓû§»·¾³ÖÐÓÐЧ¹ÜÀí×ÊÔ´
±¾ÎĽ«ÉîÈë̽ÌÖLinuxÖеÄÓÐЧ×é¸ÅÄî¡¢Æä¹¤×÷»úÖÆ¡¢ÅäÖ÷½·¨ÒÔ¼°ÔÚʵ¼ÊÓ¦ÓÃÖеÄÖØÒªÐÔ
Ò»¡¢LinuxȨÏÞ¹ÜÀí»ù´¡ ÔÚLinuxϵͳÖУ¬Ã¿¸öÎļþºÍĿ¼¶¼ÓÐÓëÖ®¹ØÁªµÄȨÏÞÉèÖã¬ÕâЩȨÏÞ¾ö¶¨ÁËË¿ÉÒÔ¶ÁÈ¡£¨read£©¡¢Ð´È루write£©»òÖ´ÐУ¨execute£©ËüÃÇ
ȨÏÞ¹ÜÀíÖ÷Ҫͨ¹ýÓû§£¨User£©¡¢×飨Group£©ºÍÆäËûÈË£¨Others£©Èý¸öά¶ÈÀ´ÊµÏÖ
ÿ¸öÎļþºÍĿ¼¶¼ÓÐÒ»¸öËùÓÐÕߣ¨Owner£©ºÍÒ»¸öËùÊô×飨Group£©£¬¶ø¡°ÆäËûÈË¡±ÔòָϵͳÖв»ÊôÓÚ¸ÃÎļþËùÓÐÕß»òËùÊô×éµÄËùÓÐÓû§
ȨÏÞͨ³£ÒÔÈý×é×Ö·û±íʾ£¬Ã¿×éÈý¸ö×Ö·û·Ö±ð¶ÔÓ¦ËùÓÐÕß¡¢×éºÍÆäËûÈ˵ÄȨÏÞ
ÀýÈ磬`-rwxr-xr--`±íʾÕâÊÇÒ»¸ö¿ÉÖ´ÐÐÎļþ£¬ËùÓÐÕßÓµÓжÁ¡¢Ð´ºÍÖ´ÐÐȨÏÞ£¬×éÓû§ÓµÓжÁºÍÖ´ÐÐȨÏÞ£¬¶øÆäËûÓû§Ö»ÓжÁȨÏÞ
¶þ¡¢Linux×éµÄ¸ÅÄî ÔÚLinuxÖУ¬×éÊÇÒ»ÖÖ½«¶à¸öÓû§×éÖ¯ÔÚÒ»ÆðµÄ·½Ê½£¬ÒÔ±ãÓÚ¶ÔÕâЩÓû§½øÐÐͳһ¹ÜÀí
ÿ¸öÓû§ÖÁÉÙÊôÓÚÒ»¸öÖ÷Òª×飨Primary Group£©£¬µ«¿ÉÒÔÊôÓÚ¶à¸ö¸½¼Ó×飨Secondary Groups£©»ò¸¨Öú×飨Supplementary Groups£©
Ö÷Òª×éͨ³£ÊÇÔÚÓû§´´½¨Ê±×Ô¶¯·ÖÅäµÄ£¬¶ø¸½¼Ó×éÔò¿ÉÒÔ¸ù¾ÝÐèÒªÊÖ¶¯Ìí¼Ó
×éµÄÖ÷Òª×÷ÓÃÊǼò»¯È¨ÏÞ¹ÜÀí
ͨ¹ýΪÎļþ»òĿ¼ָ¶¨Ò»¸ö×飬ϵͳ¹ÜÀíÔ±¿ÉÒÔÒ»´ÎÐÔΪ×éÄÚËùÓÐÓû§ÉèÖÃÏàͬµÄ·ÃÎÊȨÏÞ£¬¶øÎÞÐèµ¥¶ÀΪÿ¸öÓû§ÅäÖÃ
Èý¡¢ÓÐЧ×éµÄÒýÈë ¾¡¹ÜLinuxÌṩÁ˷ḻµÄ×é»úÖÆÀ´¹ÜÀíȨÏÞ£¬µ«ÔÚʵ¼ÊʹÓÃÖУ¬Ò»¸öÓû§¿ÉÄÜͬʱÊôÓÚ¶à¸ö×飬Õâ¾ÍÒý³öÁËÒ»¸öÎÊÌ⣺µ±Óû§³¢ÊÔ·ÃÎÊij¸öÎļþ»òĿ¼ʱ£¬ÏµÍ³Ó¦ÒÀ¾ÝÄĸö×éµÄȨÏÞÀ´Åжϣ¿Õâ¾ÍÊÇÓÐЧ×飨Effective Group£©µÄ¸ÅÄî±»ÒýÈëµÄÔÒò
ÓÐЧ×é·ÖΪÁ½Àࣺ 1.ʵ¼ÊÓÐЧ×飨Real Effective Group£©£ºÓû§µÇ¼ʱµÄĬÈÏ×飬¼´Óû§µÄÖ÷Òª×é
2.½ø³ÌÓÐЧ×飨Process Effective Group£©£ºµ±Ò»¸ö½ø³Ì´´½¨Ê±£¬Ëü¼Ì³Ð´´½¨ÕßµÄʵ¼ÊÓÐЧ×飬µ«¿ÉÒÔͨ¹ý±à³Ì·½Ê½¸Ä±ä
ÔÚ´ó¶àÊýÇé¿öÏ£¬Óû§Ö´ÐÐÃüÁî»ò·ÃÎÊÎļþʱ£¬ÏµÍ³»á¼ì²éÓû§µÄʵ¼ÊÓÐЧ×éȨÏÞ
È»¶ø£¬ÔÚÄ³Ð©ÌØ¶¨Çé¿öÏ£¬ÈçʹÓÃ`setgid`루Set Group ID bit£©Ê±£¬½ø³ÌµÄÓÐЧ×é»á±»ÉèÖÃΪÎļþ»òĿ¼µÄËùÊô×飬¶ø²»ÊÇÓû§µÄʵ¼ÊÓÐЧ×é
ËÄ¡¢setgidλÓëÓÐЧ×éµÄ±ä»¯ `setgid`λÊÇLinuxȨÏÞ¹ÜÀíÖеÄÒ»¸öÌØÊâ±êÖ¾£¬Ëü¿ÉÒÔÓ¦ÓÃÓÚÎļþ»òĿ¼
µ±¶ÔÎļþÉèÖÃ`setgid`λʱ£¬Ö´ÐиÃÎļþµÄ½ø³ÌµÄÓÐЧ×é»á±»ÉèÖÃΪÎļþµÄËùÊô×飬¶ø²»ÊÇÓû§µÄʵ¼ÊÓÐЧ×é
ÕâÒâζ×Å£¬¼´Ê¹Óû§ÊôÓÚÆäËû×飬ËûÃÇÔÚÖ´ÐиÃÎļþʱҲ½«ÓµÓиÃÎļþµÄËùÊô×éµÄȨÏÞ
¶ÔÓÚĿ¼£¬`setgid`λµÄ×÷ÓÃÂÔÓв»Í¬
µ±¶ÔĿ¼ÉèÖÃ`setgid`λʱ£¬ÔÚ¸ÃĿ¼Ï´´½¨µÄÐÂÎļþ»òĿ¼½«×Ô¶¯¼Ì³Ð¸¸Ä¿Â¼µÄËùÊô×飬¶ø²»ÊÇ´´½¨ÕßµÄʵ¼ÊÓÐЧ×é
ÕâÒ»ÌØÐÔÔÚ¶àÓû§Ð×÷ÏîÄ¿Öзdz£ÓÐÓã¬ÒòΪËüÈ·±£ÁËËùÓгÉÔ±´´½¨µÄÎļþ¶¼¹éÊôÓÚͬһ¸ö×飬´Ó¶ø¼ò»¯ÁËȨÏÞ¹ÜÀí
Îå¡¢ÅäÖÃÓÐЧ×éµÄ·½·¨ ÔÚLinuxϵͳÖУ¬ÅäÖÃÓÐЧ×éÖ÷Ҫͨ¹ýÒÔϼ¸ÖÖ·½Ê½ÊµÏÖ£º 1.Óû§¹ÜÀíÃüÁʹÓÃusermodÃüÁî¿ÉÒÔÐÞ¸ÄÓû§µÄÖ÷Òª×éºÍ¸½¼Ó×é
ÀýÈ磬`usermod -g newgroup username`½«Óû§`username`µÄÖ÷Òª×é¸ü¸ÄΪ`newgroup`
2.ÎļþȨÏÞÉèÖãºÊ¹ÓÃchownÃüÁî¿ÉÒԸıäÎļþ»òĿ¼µÄËùÓÐÕߺÍËùÊô×é
ÀýÈ磬`chown :newgroup filename`½«Îļþ`filename`µÄËùÊô×é¸ü¸ÄΪ`newgroup`
3.chmodÃüÁîÓësetgidλ£ºÊ¹ÓÃchmodÃüÁî¿ÉÒÔÉèÖûòÇå³ý`setgid`λ
ÀýÈ磬`chmod g+s directoryname`ΪĿ¼`directoryname`ÉèÖÃ`setgid`λ
4.±à³Ì½Ó¿Ú£ºÔÚ±àд³ÌÐòʱ£¬¿ÉÒÔͨ¹ýϵͳµ÷Óã¨Èç`setegid()`£©¶¯Ì¬¸Ä±ä½ø³ÌµÄÓÐЧ×é
Áù¡¢ÓÐЧ×éÔÚʵ¼ÊÓ¦ÓÃÖеÄÖØÒªÐÔ ÓÐЧ×éÔÚLinuxϵͳÖеÄÓ¦Óù㷺ÇÒÖØÒª£¬¾ßÌåÌåÏÖÔÚÒÔϼ¸¸ö·½Ã棺 1.¶àÓû§Ð×÷£ºÔÚ¶àÓû§¹²Í¬¹¤×÷µÄ»·¾³ÖУ¬Í¨¹ýºÏÀíÉèÖÃÓÐЧ×éºÍ`setgid`룬¿ÉÒÔÈ·±£ÍŶӳÉÔ±¶ÔÏîÄ¿ÎļþµÄ·ÃÎÊȨÏÞÒ»Ö£¬´Ù½øÐ×÷ЧÂÊ
2.×ÊÔ´¹²Ïí£ºÔÚ¹²Ïí×ÊÔ´£¨Èç´òÓ¡»ú¡¢ÍøÂç´æ´¢µÈ£©µÄ¹ÜÀíÖУ¬ÀûÓÃÓÐЧ×é¿ÉÒÔ¾«Ï¸¿ØÖÆÄÄЩÓû§Äܹ»·ÃÎÊÕâЩ×ÊÔ´£¬Ìá¸ß×ÊÔ´ÀûÓÃÂʺͰ²È«ÐÔ
3.ϵͳ°²È«£ºÍ¨¹ýºÏÀíÅäÖÃÓÐЧ×飬ϵͳ¹ÜÀíÔ±¿ÉÒÔÏÞÖÆÓû§¶ÔÃô¸ÐÎļþºÍĿ¼µÄ·ÃÎÊ£¬¼õÉÙDZÔÚ