Re: Suexec testen
On Sun, Sep 01, 2002 at 05:55:46PM +0200, Jochen Kächelin wrote:
> Wie kann ich denn testen, ob mein suexec richtig konfiguriert ist!
> Eigentlich soll suexec ja verhindern, dass kunde a perl-scripte
> unter der Kennung des Kunden b alaufen lassen kann, um somit keinen
> Schaden anzurichten, gelle?
Eher so, daß Scripte des Kunden B unter der Kennung von B ablaufen.
Ein kleiner Testscript:
#! /bin/sh
# (c) 2002 Heiko Schlittermann <hs@schlittermann.de>
#
# Diesen Script einfach installieren als test.cgi
# oder cgi-bin/test oder cgi-bin/test.sh, je nach dem, was der
# jeweilige Provider gerne sehen wuerde ...
# Und dann aufrufen:
# http://www.irgendwo.de/test.cgi
# oder entsprechend des Installationsortes
# http://www.irgendwo.de/cgi-bin/test
#
PERL_MODULES="CGI CGI::Carp Mail::Mailer DBI DBD::mysql \
Date::Calc Digest::MD5"
PROGRAMS="perl sendmail date env php php3 php4 ls"
PATH="/usr/bin:$PATH:/usr/sbin"
TOP="[ <a href=#top>top</a> ]"
cat <<xxx
Content-Type: text/html
<html><head>
<title>CGI-Test</title>
</head>
<body bgcolor=white>
[ <a href=#env>Environment</a> ]
[ <a href="#perl">perl</a> ]
[ <a href="#perl.modules">perl modules</a> ]
<h1>Welcome from $REMOTE_ADDR</h1>
<table>
<tr><th align=right>UID</th><td>$(id -un)</td></tr>
<tr><th align=right>GID</th><td>$(id -gn)</td></tr>
<tr><th align=right>Current Directory</th><td>$(pwd)</td></tr>
xxx
for prog in $PROGRAMS; do
echo "<tr><th align=right>$prog</th><td>`type -p $prog`</td></tr>"
done
cat <<xxx
</table>
<a name=env><h3>$TOP Environment</h3></a>
<table>
`export|sort|sed 's/declare -x //'|sed 's,=,</th><td>,;s,^,<tr><th align=right>,;s,$,</td></tr>,'`
</table>
</body>
<a name=perl><h3>$TOP Perl</h3></a>
<pre>
`perl -V`
</pre>
<a name=perl.modules><h4>$TOP Perl Modules</h4></a>
xxx
#echo '<table><tr><th align="right">Modul</th><th align="left">Version</th></tr>'
echo '<table>'
for module in $PERL_MODULES; do
echo "<tr><th align=right>$module</th><td>"
perl -M$module -e "print \"\$$module::VERSION\n\";" || echo "NONE"
echo "</td></tr>"
done
echo '</table>'
echo "</html>"
Reply to: