¡¡¡¡Ò»¸öÎļþ¶¼ÓÐÒ»¸öËùÓÐÕß, ±íʾ¸ÃÎļþÊÇË´´½¨µÄ. ͬʱ, ¸ÃÎļþ»¹ÓÐÒ»¸ö×é±àºÅ, ±íʾ¸ÃÎļþËùÊôµÄ×é, Ò»°ãΪÎļþËùÓÐÕßËùÊôµÄ×é.
¡¡¡¡Èç¹ûÊÇÒ»¸ö¿ÉÖ´ÐÐÎļþ, ÄÇôÔÚÖ´ÐÐʱ, Ò»°ã¸ÃÎļþÖ»ÓµÓе÷ÓøÃÎļþµÄÓû§¾ßÓеÄȨÏÞ. ¶øsetuid, setgid ¿ÉÒÔÀ´¸Ä±äÕâÖÖÉèÖÃ.
¡¡¡¡setuid: ÉèÖÃʹÎļþÔÚÖ´Ðн׶ξßÓÐÎļþËùÓÐÕßµÄȨÏÞ. µäÐ͵ÄÎļþÊÇ /usr/bin/passwd. Èç¹ûÒ»°ãÓû§Ö´ÐиÃÎļþ, ÔòÔÚÖ´Ðйý³ÌÖÐ, ¸ÃÎļþ¿ÉÒÔ»ñµÃrootȨÏÞ, ´Ó¶ø¿ÉÒÔ¸ü¸ÄÓû§µÄÃÜÂë.
¡¡¡¡setgid: ¸ÃȨÏÞÖ»¶ÔĿ¼ÓÐЧ. Ŀ¼±»ÉèÖøÃλºó, ÈκÎÓû§ÔÚ´ËĿ¼Ï´´½¨µÄÎļþ¶¼¾ßÓк͸ÃĿ¼ËùÊôµÄ×éÏàͬµÄ×é.
¡¡¡¡sticky bit: ¸Ãλ¿ÉÒÔÀí½âΪ·Àɾ³ýλ. Ò»¸öÎļþÊÇ·ñ¿ÉÒÔ±»Ä³Óû§É¾³ý, Ö÷Ҫȡ¾öÓÚ¸ÃÎļþËùÊôµÄ×éÊÇ·ñ¶Ô¸ÃÓû§¾ßÓÐдȨÏÞ. Èç¹ûûÓÐдȨÏÞ, ÔòÕâ¸öĿ¼ÏµÄËùÓÐÎļþ¶¼²»Äܱ»É¾³ý, ͬʱҲ²»ÄÜÌí¼ÓеÄÎļþ. Èç¹ûÏ£ÍûÓû§Äܹ»Ìí¼ÓÎļþµ«Í¬Ê±²»ÄÜɾ³ýÎļþ, Ôò¿ÉÒÔ¶ÔÎļþʹÓÃsticky bitλ. ÉèÖøÃλºó, ¾ÍËãÓû§¶ÔĿ¼¾ßÓÐдȨÏÞ, Ò²²»ÄÜɾ³ý¸ÃÎļþ.
¡¡¡¡ÏÂÃæËµÒ»ÏÂÈçºÎ²Ù×÷ÕâЩ±êÖ¾:
¡¡¡¡²Ù×÷ÕâЩ±êÖ¾Óë²Ù×÷ÎļþȨÏÞµÄÃüÁîÊÇÒ»ÑùµÄ, ¶¼ÊÇ chmod. ÓÐÁ½ÖÖ·½·¨À´²Ù×÷,
¡¡¡¡1) chmod u+s temp -- ΪtempÎļþ¼ÓÉÏsetuid±êÖ¾. (setuid Ö»¶ÔÎļþÓÐЧ)
¡¡¡¡chmod g+s tempdir -- ΪtempdirĿ¼¼ÓÉÏsetgid±êÖ¾ (setgid Ö»¶ÔĿ¼ÓÐЧ)
¡¡¡¡chmod o+t temp -- ΪtempÎļþ¼ÓÉÏsticky±êÖ¾ (stickyÖ»¶ÔÎļþÓÐЧ)
¡¡¡¡2) ²ÉÓð˽øÖÆ·½Ê½. ¶ÔÒ»°ãÎļþͨ¹ýÈý×é°Ë½øÖÆÊý×ÖÀ´ÖñêÖ¾, Èç 666, 777, 644µÈ. Èç¹ûÉèÖÃÕâÐ©ÌØÊâ±êÖ¾, ÔòÔÚÕâ×éÊý×ÖÖ®ÍâÍâ¼ÓÒ»×é°Ë½øÖÆÊý×Ö. Èç 4666, 2777µÈ. ÕâÒ»×é°Ë½øÖÆÊý×ÖÈýλµÄÒâÒåÈçÏÂ,
¡¡¡¡abc
¡¡¡¡a - setuidλ, Èç¹û¸ÃλΪ1, Ôò±íʾÉèÖÃsetuid
¡¡¡¡b - setgidλ, Èç¹û¸ÃλΪ1, Ôò±íʾÉèÖÃsetgid
¡¡¡¡c - stickyλ, Èç¹û¸ÃλΪ1, Ôò±íʾÉèÖÃsticky
¡¡¡¡ÉèÖÃÍêÕâЩ±êÖ¾ºó, ¿ÉÒÔÓà ls -l À´²é¿´. Èç¹ûÓÐÕâЩ±êÖ¾, Ôò»áÔÚÔÀ´µÄÖ´Ðбê־λÖÃÉÏÏÔʾ. Èç
¡¡¡¡rwsrw-r-- ±íʾÓÐsetuid±êÖ¾
¡¡¡¡rwxrwsrw- ±íʾÓÐsetgid±êÖ¾
¡¡¡¡rwxrw-rwt ±íʾÓÐsticky±êÖ¾
¡¡¡¡ÄÇôÔÀ´µÄÖ´ÐбêÖ¾xµ½ÄÄÀïÈ¥ÁËÄØ? ϵͳÊÇÕâÑù¹æ¶¨µÄ, Èç¹û±¾À´ÔÚ¸ÃλÉÏÓÐx, ÔòÕâÐ©ÌØÊâ±êÖ¾ÏÔʾΪСд×Öĸ (s, s, t). ·ñÔò, ÏÔʾΪ´óд×Öĸ (S, S, T)

