PNG  IHDR;IDATxܻn0K )(pA 7LeG{ §㻢|ذaÆ 6lذaÆ 6lذaÆ 6lom$^yذag5bÆ 6lذaÆ 6lذa{ 6lذaÆ `}HFkm,mӪôô! x|'ܢ˟;E:9&ᶒ}{v]n&6 h_tڠ͵-ҫZ;Z$.Pkž)!o>}leQfJTu іچ\X=8Rن4`Vwl>nG^is"ms$ui?wbs[m6K4O.4%/bC%t Mז -lG6mrz2s%9s@-k9=)kB5\+͂Zsٲ Rn~GRC wIcIn7jJhۛNCS|j08yiHKֶۛkɈ+;SzL/F*\Ԕ#"5m2[S=gnaPeғL lذaÆ 6l^ḵaÆ 6lذaÆ 6lذa; _ذaÆ 6lذaÆ 6lذaÆ RIENDB` suEXEC - Apache HTTP Server Version 2.4
<-
Apache > HTTP Server > Documentation > Version 2.4

suEXEC

ֽ ƴմϴ. ֱٿ ϼ.

suEXEC ġ CGI SSI α׷ ID ƴ ٸ ID ϵ Ѵ. CGI SSI α׷ ϸ ڿ ڷ Ѵ.

ϸ ڰ CGI SSI α׷ ϰ Ҷ ߻ ִ ִ. ׷ suEXEC ϰ Ǹ ǻͿ ο ִ. setuid root α׷ ̷ α׷ ϴٸ suEXEC ʱ ٶ.

Support Apache!

top

ϱ

ϱ 켱 ġ׷ .

setuid setgid н ü Ѵٰ Ѵ. ɾ 鵵 Ѵ. suEXEC ϴ ٸ ÷ ϴٸ ٸ ִ.

ι°, ǻ ⺻ ͼϴٰ Ѵ. ⿡ setuid/setgid ɰ ̵ ý۰ ȿ ġ ⿡ ذ Եȴ.

°, suEXEC ڵ Ѵٰ Ѵ. ڿ Ÿ׽͵ suEXEC õ ڵ带 ɽ ϰ ˻ߴ. ڵ带 ϰ ϰ Ȯ ϱ Ǹ ￴. ڵ带 ϸ ġ ο ߻ ִ. α׷ֿ ſ ˰ ڵ带 캸 ġ׷ ۾ ǻ簡 ٸ suEXEC ڵ带 ʱ Ѵ.

׹° , ġ׷ suEXEC ġ ⺻ġ ʱ ߴ. ᱹ ڰ Ǹ ← suEXEC ؾ Ѵ. suEXEC ڴ Ϲ ġ suEXEC ġ ִ. suEXEC ϴ ý å ڴ ְ 캸 ؾ Ѵ. ̷ suEXEC Ҹŭ ְ ȣ suEXEC ϵ ġ׷ ϱ ̴.

ϱ ϴ°? ׷? . !

top

suEXEC ȸ

suEXEC ϰ ġϱ 츮 ȸ Ѵ. ̸ Ȯ suEXEC ȿ Ͼ ý ؾ ִ.

suEXEC ġ θ setuid "wrapper" α׷ Ѵ. wrapper ڰ ּ ٸ userid ϵ CGI SSI α׷ HTTP û Ҹ. ̷ û ġ suEXEC wrapper α׷ α׷ ڿ ׷ ID Ѵ.

׷ wrapper и Ѵ. ϳ ϸ α׷ з ϵǰ Ѵ. Ѵ:

  1. wrapper ϴ ڰ ý ΰ?

    wrapper ϴ ڰ ý ȮѴ.

  2. ƱԸƮ wrapper ϴ°?

    wrapper ƱԸƮ ־߸ ȴ. ġ ȴ. wrapper ƱԸƮ ϸ ŷǾų ġ suEXEC ִ ̴.

  3. ڰ wrapper ϵ Ǿ?

    ڰ wrapper ϵ Ǿ? (ġ ) α׷ ִ.

  4. CGI SSI α׷ °?

    CGI SSI α׷ '/' ϰų '..' °? ̵ . CGI/SSI α׷ suEXEC root (Ʒ --with-suexec-docroot=DIR ) ־ Ѵ.

  5. ڸ ȿѰ?

    ڰ ϴ°?

  6. ׷ ȿѰ?

    ׷ ϴ°?

  7. ڰ superuser ƴѰ?

    suEXEC root CGI/SSI α׷ Ѵ.

  8. userid ּ ID ں ū?

    ּ ID ڸ Ѵ. ׷ CGI/SSI α׷ ִ userid ּġ ִ. "ýۿ" Ҷ ϴ.

  9. ׷ superuser ׷ ƴѰ?

    suEXEC root ׷ CGI/SSI α׷ Ѵ.

  10. groupid ּ ID ں ū?

    ּ ׷ ID ڸ Ѵ. ׷ CGI/SSI α׷ ִ groupid ּġ ִ. "ýۿ" ׷ Ҷ ϴ.

  11. wrapper ڿ ׷ ִ°?

    ܰ迡 α׷ setuid setgid ȣ Ͽ ڿ ׷ ȴ. , ׷ ٸ ڰ ش ׷ ʱȭȴ.

  12. CGI/SSI α׷ ִ 丮 丮 ִ°?

    丮 ʴٸ . ̰ 丮 ٸ 丮 ̴.

  13. 丮 ġ ȿ ִ°?

    Ϲ κ û ûϴ 丮 suEXEC root Ʒ ִ°? UserDir û ûϴ 丮 suEXEC userdir (suEXEC ɼ ) 丮 Ʒ ִ°?

  14. ٸ 丮 °?

    丮 ٸ α ʴ´. ڸ 丮 ִ.

  15. CGI/SSI α׷ ϴ°?

    ʴٸ .

  16. ٸ CGI/SSI α׷ °?

    ڿ CGI/SSI α׷ ϱ ʴ´.

  17. CGI/SSI α׷ setuid setgid ƴѰ?

    츮 α׷ ٽ UID/GID ϱ ʴ´.

  18. /׷ α׷ /׷ ?

    ڰ ΰ?

  19. μ ȯ溯 û ִ°?

    suEXEC ( ) PATH , (̰͵ ) ȯ溯 Ͽ ŵ μ ȯ溯 .

  20. CGI/SSI α׷ ִ°?

    ⼭ suEXEC CGI/SSI α׷ Ѵ.

̰ suEXEC wrapper ȸ ǥ ̴. ټ ϰ CGI/SSI 迡 ο , ο ΰ Ѵܰ辿 ɽ .

 ִ suEXEC  ִ "ٽ ѹ ϶" ϶.

top

suEXEC ġ

ִ Ѵ.

suEXEC ɼ

--enable-suexec
ɼ ⺻ ġǰų Ȱȭʴ suEXEC ȰȭѴ. APACI suEXEC ޾Ƶ̷ --enable-suexec ɼǿܿ --with-suexec-xxxxx ɼ ּ Ѱ ʿϴ.
--with-suexec-bin=PATH
suexec ̳ʸ δ Ȼ ϵǾ Ѵ. ⺻ Ϸ ɼ Ѵ. --with-suexec-bin=/usr/sbin/suexec
--with-suexec-caller=UID
ġ ϴ ڸ. α׷ ִ ڴ.
--with-suexec-userdir=DIR
suEXEC Ǵ Ȩ丮 丮 Ѵ. 丮 ִ suEXEC Ƿ, α׷ "ؾ" Ѵ. ( , "*" ) "" UserDir þ Ѵٸ ؾ Ѵ. UserDir þ passwd Ͽ Ȩ丮 ٸ suEXEC ۵ ʴ´. ⺻ "public_html"̴.
ȣƮ ٸ UserDir Ѵٸ θ 丮 ȿ ֵ ؾ ϰ, θ 丮 ´. ̷ , "~userdir" cgi û ۵ ʴ´!
--with-suexec-docroot=DIR
ġ DocumentRoot Ѵ. ̴ suEXEC ִ (UserDirs ) ̴. ⺻ 丮 --datadir "/htdocs" ̴. "--datadir=/home/apache" ߴٸ suEXEC wrapper document root "/home/apache/htdocs" 丮 Ѵ.
--with-suexec-uidmin=UID
suEXEC ּ UID Ѵ. κ ýۿ 500̳ 100 ϴ. ⺻ 100̴.
--with-suexec-gidmin=GID
suEXEC ׷ ּ GID Ѵ. κ ýۿ 100 ϹǷ ⺻̴.
--with-suexec-logfile=FILE
suEXEC ۵ (ó ) αϸ Ѵ. ⺻ α ̸ "suexec_log"̰ ǥ α 丮 (--logfiledir) ġѴ.
--with-suexec-safepath=PATH
CGI Ͽ Ѱ PATH ȯ溯 Ѵ. ⺻ "/usr/local/bin:/usr/bin:/bin"̴.

suEXEC wrapper ϰ ġϱ
--enable-suexec ɼ suEXEC ϰ make ɾ ϸ suexec (ġ Բ) ڵ .
make install ɾ Ͽ ġ ִ. ̳ʸ suexec --sbindir ɼ 丮 ġȴ. ⺻ ġ "/usr/local/apache2/sbin/suexec"̴.
ġ root ʿ ϶. wrapper ID ϱؼ ڰ root̰ ϸ setuserid Ʈ Ǿ Ѵ.

Ѽ
suEXEC wrapper ڽ ڰ ɼ --with-suexec-caller ùٸ Ȯ , ˻ suEXEC ϴ ýȣ Ȥ ̺귯 Լ ۵Ǿ ִ. ̸ ϸ Ϲ ̹Ƿ ġ ϴ ׷츸 suEXEC ֵ Ͻý ؾ Ѵ.

, ϰ:

User www
Group webgroup

suexec "/usr/local/apache2/sbin/suexec" ġϿٸ, ؾ Ѵ:

chgrp webgroup /usr/local/apache2/bin/suexec
chmod 4750 /usr/local/apache2/bin/suexec

׷ ġ ϴ ׷츸 suEXEC wrapper ִ.

top

suEXEC Ű

ġ Ҷ --sbindir ɼ 丮 suexec (⺻ "/usr/local/apache2/sbin/suexec") ã´. ġ suEXEC wrapper ߰ϸ α(error log) Ѵ:

[notice] suEXEC mechanism enabled (wrapper: /path/to/suexec)

߿ ̷ ٸ ҿ wrapper α׷ ã ߰ų, setuid root ġʾұ ̴.

ó suEXEC ϰ Ͱ ̹ ġ ̶, ġ ̰ ٽ ؾ Ѵ. HUP̳ USR1 ñ׳η ϴ δ ʴ.

suEXEC ȻϷ suexec ġ ̰ ؾ Ѵ.

top

suEXEC ϱ

CGI α׷ û SuexecUserGroup þ ȣƮ û Ͽų mod_userdir û óϴ 쿡 suEXEC wrapper ȣѴ.

ȣƮ:
suEXEC wrapper ϴ Ѱ VirtualHost ǿ SuexecUserGroup þ ϴ ̴. þ ּ ID ٸ ϸ CGI ڿ û <VirtualHost> User Group ȴ. þ <VirtualHost> ּ userid Ѵ.

丮:
mod_userdir û óѴٸ suEXEC wrapper ȣϿ, û 丮 شϴ ID CGI α׷ Ѵ. Ϸ ID CGI ְ ũƮ ˻ ׸ ؾ Ѵ. ɼ --with-suexec-userdir ϶.

top

suEXEC ϱ

suEXEC wrapper α ٷ --with-suexec-logfile ɼ Ͽ . wrapper ùٷ ϰ ġߴٸ ߸Ǿ αϿ error_log .

top

ٽ ѹ ϶:

! ִ. ġ׷ ֽ ϶.

wrapper ϴ  ̷ο ִ. suEXEC õ "" ϱ ̵ 캸 ٶ.

:  en  |  fr  |  ja  |  ko  |  tr 

top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.