Benutzer in Verzeichnis einsperren

S

spex

Moin,

Zu Begin muss gesagt sein das es sich hier ausschließlich um php-fcgi dreht.
Der Benutzer hat also keinen Shellzugriff und benötigt diesen auch nicht.


ich hab mir vor Tagen mal das Controlpanel "ISPCP" (ISPCP ~ Confixx und co.) installiert und eine PHP-Shell auf den Webserver geladen um die SIcherheit mal etwas zu testen.

Naja dabei hab ich festgestellt das der Benutzer selbst wirklich nur +rwx in seinem Homeverzeichnis hat. Sonst hat er in keinem anderem Verzeichnis Lese-, Schreib- oder Ausführungsrechte.

Die Rechte des Dateisystems (/bin, /boot, /etc/, var) sind unverändert.

So sieht die Datei /etc/passwd aus:
Code:
vu2000:x:2000:2000:vu-master:/var/www/fcgi/master:/bin/false
vu2001:x:2001:2001:virtual-user:/var/www/virtual/xxxxx.de:/bin/false
vu2002:x:2002:2002:virtual-user:/var/www/virtual/xxxxxx.com:/bin/false
vu2003:x:2003:2003:virtual-user:/var/www/virtual/xxxxxx.com:/bin/false
vu2005:x:2005:2005:virtual-user:/var/www/virtual/xxxxx.com:/bin/false
vu2007:x:2007:2007:virtual-user:/var/www/virtual/xxxxxxx.com:/bin/false
vu2008:x:2008:2008:virtual-user:/var/www/virtual/xxxxx.de:/bin/false
vu2010:x:2010:2010:virtual-user:/var/www/virtual/xxxxxx.de:/bin/false
vu2012:x:2012:2012:virtual-user:/var/www/virtual/xxxxxx.com:/bin/false
vu2013:x:2013:2013:virtual-user:/var/www/virtual/xxxxx.com:/bin/false

Datei: /var/www/fcgi/master/php5-fcgi-starter
Code:
#!/bin/sh

umask 022

PHPRC="/var/www/fcgi/master/php5/"

export PHPRC
PHP_FCGI_CHILDREN=2
export PHP_FCGI_CHILDREN
PHP_FCGI_MAX_REQUESTS=500
export PHP_FCGI_MAX_REQUESTS

exec /usr/bin/php5-cgi

Ich habe die Vermutung das es mit der Datei "/var/www/fcgi/master/php5-fcgi-starter" zutun hat.

Wie kann ich sowas selber verwirklichen, oder kann mich Jemand aufklären?

Mit freundlichen Gruessen
 
Ich verstehe Deine Frage nicht. Was möchtest Du erreichen?

Ansonsten lege ich Dir an Herz Dich mal mit "chroot" auseinanderzusetzen.
 
Danke für die schnelle Antwort um diese Uhrzeit.

Was ich erreichen will ist das der php-fcgi Prozess ausschließlich auf das Homeverzeichnis des Benutzers zugreifen kann, unter dem er läuft.
In allen anderen Ordnern soll er keinerlei Rechte haben, insbesondere keine LESERECHTE.

Das funktioniert so bei ISPCP. Getestet hab ich es mit eienr PHP-Shell (c99).
Ich konnte über diese lediglich auf das Homeverzeichnis des Benutzers zugreifen unter dem der PHP-CGI Prozess lief. Alle anderen Ordner waren Tabu, das schließt /etc, /var und co. mit ein.

Chroot kommt da nicht in Frage. Das ist die Antwort die man Überall an den Kopf geknallt bekommt, Die einen aber nicht im Entferntestem weiterbringt.

Ich bin keiner von der Sorte Die zu faul zum Lesen sind :).
Ich brauch nur erstmal einen Anstoss wonach genau ich suchen kann.
Links zu Tutorials oder andern Infos wären da schon eher hilfreich.

Ich möchte das selber können. Ist ja schön wenn das ISPCP kann oder deren Entwickler.
Trotzdem interessierts mich.

Gruss

//EDIT:
Hier noch ein Bild was mir die Shell sagt wenn ich versuche auf das Verzeichnis zuzugreifen:
Unbenannt.PNG


Sieht ganz danach aus als ob in dem Ordner einfach keine Leserechte gesetzt wurden. Wenn ich mir aber die Rechte dort als root ansehe, sind diese nachwievor unverändert (drwxr-xr-x). Ebensowenig kann der Benutzer die dateien in /etc lesen. (/etc ist nur ein Beispiel, in allen anderen Ordnern ist das genauso)
 
Zuletzt bearbeitet von einem Moderator:
Zurück