Benutzer auf Debian Server auf Verzeichnis beschränken (ohne chroot)?

4 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Um deinen User nur irgendwo einzusperren, reicht das hier schon beschriebene sftp + chroot voellig aus (Beispiele findet man im Netz genug, einfach mal nach "sftp chroot" googlen).

Damit hast du aber das Problem, dass die Skripte/Website des Users deinen Webserver mit runter ziehen koennen, wenn die mal schraeg laufen.

Besser ist es mit suexec und mod-fcgid fuer Apache zu arbeiten. Damit isolierst du einzelne Vhosts gegeneinander. PHP (oder Perl etc.) Prozesse laufen nur noch im spezifischen User-Kontext und koennen separat mit Limits und Configs (z.B. eigene php.ini) versehen werden.

Da du fuer obiges sowieso einen neuen User brauchst, bei dem im Idealfall home unterhalb der Vhost Verzeichnisstruktur liegt, kannst du diesem einfach ein Passwort geben, den in die sftp chroot Gruppe packen und hast den gewuenschten Effekt.

cheers | barnim

nick2097 
Fragesteller
 24.09.2016, 19:46

Auszeichnung kommt zwar etwas spät, aber besser spät als nie, oder? ;)

Habe es nun tatsächlich mit chroot/sftp gemacht und es hat geklappt so wie ich mir das vorgestellt habe. Hatte einen ganz anderen Eindruck was die chroot-Umgebung bedeutet.

Habe in Abwandlung dieser Anleitung gefolgt:

https://passingcuriosity.com/2014/openssh-restrict-to-sftp-chroot/


0

Hallo, wenn Du einen neuen Benutzer anlegst, kann der nur in seinem Home-Verzeichnis schreiben. Wenn er nicht den Gruppen admin und adm angehört, hat er auch keine Möglichkeit, root-Rechte zu erhalten.

Lesen kann er bei Debian-Systemen alles, wo das nicht gewünscht ist, solle den Directorys mit "chmod 770 <dir>" das Leserecht für alle genommen werden. Hoffe, das hilft weiter.

"einsperren" kannst du ihn nicht. Du kannst, wie @Drehrumbum bereits geschrieben hat, nur über die Zugriffsrechte zu /var/www/GEFAENGNIS festlegen, dass er in seinem Home-Verzeichnis und eben auch dort lesen und schreiben kann (darf).
Etwas aufpassen muss man schon, dass er nicht über die Rechte der Gruppe(n), die dieser User angehört doch woanders auch schreiben darf.

Nun möchte ich einem Bekannten einen Ordner geben, in welchem er sich
eine kleine Website zusammen bauen kann und ein bisschen HTML und CSS
lernt.

Muss das den wirklich auf einem aktiven Server geschehen?
Für solche Übungen ist doch auch ein Home-Desktop-System mit irgendeinem Linux geeignet.
Wer einen "Linux-Server" betrieben will, sollte doch immer auch ein privates Linux zu Hause haben. Dann ist auch lokal ein HTTP-Server installierbar und man muss auch keine Angst vor Fehlern haben.

Woher ich das weiß:Berufserfahrung – openSuSE seit 1995

Eine Variante wäre, ihm eine sftp Verbindung mit lese+schreibrechten für nur dieses Verzeichnis zu geben. So kann er nur Daten hochladen und wieder löschen, darf aber nichts ausführen.