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

½éÉÜ suid ºÍ sgid

·¢²¼Ê±¼ä:2006-10-02 20:06:57À´Ô´:ºìÁª×÷Õß:À÷ìÇ
¡¡¡¡µ±Äú×î³õµÇ¼ʱ£¬½«Æô¶¯Ò»¸öÐ嵀 shell ½ø³Ì¡£ÄúÒѾ­ÖªµÀ£¬µ«ÊÇÄú¿ÉÄÜ»¹²»ÖªµÀÕâ¸öÐ嵀 shell ½ø³Ì£¨Í¨³£ÊÇ bash£©Ê¹ÓÃÄúµÄÓû§±êʶÔËÐС£ÕÕÕâÑù£¬bash ³ÌÐò¿ÉÒÔ·ÃÎÊËùÓÐÊôÓÚÄúµÄÎļþºÍĿ¼¡£ÊÂʵÉÏ£¬×÷ΪÓû§£¬ÎÒÃÇÍêÈ«ÒÀ¿¿ÆäËü³ÌÐòÀ´´ú±íÎÒÃÇÖ´ÐвÙ×÷¡£ÒòΪÄúÆô¶¯µÄ³ÌÐò¼Ì³ÐÁËÄúµÄÓû§±êʶ£¬Òò´ËËüÃDz»ÄÜ·ÃÎÊÈκβ»ÔÊÐíÄú·ÃÎʵÄÎļþϵͳ¶ÔÏó£º

¡¡¡¡ÀýÈ磬һ°ãÓû§²»ÄÜÖ±½ÓÐÞ¸Ä passwd Îļþ£¬ÒòΪ¡°write¡±±êÖ¾ÒѾ­¶Ô³ý¡°root Óû§¡±ÒÔÍâµÄÿ¸öÓû§¹Ø±Õ£º

[code]$ ls -l /etc/passwd
-rw-r--r-- 1 root wheel 1355 Nov 1 21:16 /etc/passwd[/code]

¡¡¡¡µ«ÊÇ£¬Ò»°ãÓû§È·ÊµÐèÒªÔÚËûÃÇÐèÒª¸Ä±äÆäÃÜÂëµÄÈκÎʱºò£¬Äܹ»ÐÞ¸Ä /etc/passwd£¨ÖÁÉÙ¼ä½ÓµØ£©¡£µ«ÊÇ£¬Èç¹ûÓû§²»ÄÜÐ޸ĸÃÎļþ£¬¾¿¾¹ÔõÑùÍê³ÉÕâ¸ö¹¤×÷ÄØ£¿
ÎÄÕÂÆÀÂÛ

¹²ÓÐ 4 ÌõÆÀÂÛ

  1. chameleon ÓÚ 2006-10-03 08:44:36·¢±í:

    ÆäʵҲÊǾͺÍȨÏ޲¶àµÄÒ»¸öÎÊÌ⣿

  2. À÷ìÇ ÓÚ 2006-10-02 20:08:43·¢±í:

    ¡¡¡¡¸Ä±ä suid ºÍ sgid

    ¡¡¡¡ÉèÖúͳýÈ¥ suid Óë sgid λÏ൱¼òµ¥¡£ÕâÀÎÒÃÇÉèÖà suid λ£º

    [code]# chmod u+s /usr/bin/myapp[/code]

    ¡¡¡¡´Ë´¦£¬ÎÒÃÇ´ÓÒ»¸öĿ¼³ýÈ¥ sgid λ¡£ÎÒÃǽ«¿´µ½ sgid λÔõÑùÓ°ÏìÏÂÃæ¼¸ÆÁÖеÄĿ¼£º

    [code]# chmod g-s /home/drobbins[/code]

  3. À÷ìÇ ÓÚ 2006-10-02 20:08:09·¢±í:

    ¡¡¡¡suid/sgid ¸æ½ë˵Ã÷

    ¡¡¡¡ÎÒÃÇ¿´µ½ÁË suid ÔõÑù¹¤×÷£¬sgid ÒÔͬÑùµÄ·½Ê½¹¤×÷¡£ËüÔÊÐí³ÌÐò¼Ì³Ð³ÌÐòµÄ×éËùÓÐȨ£¬¶ø²»Êǵ±Ç°Óû§µÄ³ÌÐòËùÓÐȨ¡£

    ¡¡¡¡ÕâÀïÓÐһЩ¹ØÓÚ suid ºÍ sgid µÄÆäËüµÄµ«ÊǺÜÖØÒªµÄÐÅÏ¢¡£Ê×ÏÈ£¬suid ºÍ sgid Õ¼¾ÝÓë ls -l Çåµ¥ÖÐ x λÏàͬµÄ¿Õ¼ä¡£Èç¹û»¹ÉèÖÃÁË x 룬ÔòÏàÓ¦µÄλ±íʾΪ s£¨Ð¡Ð´£©¡£µ«ÊÇ£¬Èç¹ûûÓÐÉèÖà x 룬Ëü½«±íʾΪ S£¨´óд£©¡£

    ¡¡¡¡ÁíÒ»¸öºÜÖØÒªµÄÌáʾ£ºÔÚÐí¶à»·¾³ÖУ¬suid ºÍ suid ºÜ¹ÜÓ㬵«ÊDz»Ç¡µ±µØÊ¹ÓÃÕâЩλ¿ÉÄÜʹϵͳµÄ°²È«Ôâµ½ÆÆ»µ¡£×îºÃ¾¡¿ÉÄܵØÉÙÓá°suid¡±³ÌÐò¡£passwd ÃüÁîÊÇΪÊý²»¶àµÄ±ØÐëʹÓá°suid¡±µÄÃüÁîÖ®Ò»¡£

  4. À÷ìÇ ÓÚ 2006-10-02 20:07:39·¢±í:

    ¡¡¡¡suid

    ¡¡¡¡ÐҺã¬Linux ȨÏÞÄ£ÐÍÓÐÁ½¸öרÃŵÄ룬½Ð×ö¡°suid¡±ºÍ¡°sgid¡±¡£µ±ÉèÖÃÁËÒ»¸ö¿ÉÖ´ÐгÌÐòµÄ¡°suid¡±Õâһλʱ£¬Ëü½«´ú±í¿ÉÖ´ÐÐÎļþµÄËùÓÐÕßÔËÐУ¬¶ø²»ÊÇ´ú±íÆô¶¯³ÌÐòµÄÈËÔËÐС£

    ¡¡¡¡ÏÖÔÚ£¬»Øµ½ /etc/passwd ÎÊÌâ¡£Èç¹û¿´Ò»¿´ passwd ¿ÉÖ´ÐÐÎļþ£¬ÎÒÃÇ¿ÉÒÔ¿´µ½ËüÊôÓÚ root Óû§£º

    [code]$ ls -l /usr/bin/passwd
    -rwsr-xr-x 1 root wheel 17588 Sep 24 00:53 /usr/bin/passwd[/code]

    ¡¡¡¡Äú»¹½«×¢Òâµ½£¬ÕâÀïÓÐÒ»¸ö s È¡ÌæÁËÓû§È¨ÏÞÈýÔª×éÖеÄÒ»¸ö x¡£Õâ±íÃ÷£¬¶ÔÓÚÕâ¸öÌØÊâ³ÌÐò£¬ÉèÖÃÁË suid ºÍ¿ÉÖ´ÐÐλ¡£ÓÉÓÚÕâ¸öÔ­Òò£¬µ± passwd ÔËÐÐʱ£¬Ëü½«´ú±í root Óû§Ö´ÐУ¨¾ßÓÐÍêÈ«³¬¼¶Óû§·ÃÎÊȨ£©£¬¶ø²»ÊÇ´ú±íÔËÐÐËüµÄÓû§ÔËÐС£ÓÖÒòΪ passwd ÒÔ root Óû§·ÃÎÊȨÔËÐУ¬ËùÒÔÄܹ»ÐÞ¸Ä /etc/passwd Îļþ£¬¶øÃ»ÓÐʲôÎÊÌâ¡£