Ich habe den Benutzer MY_USER erstellt. Legen Sie sein Ausgangsverzeichnis auf / var / www / RESTRICTED_DIR fest. Dies ist der Pfad, auf den er beschränkt werden sollte. Dann habe ich sshd_config bearbeitet und Folgendes eingestellt:
Match user MY_USER
ChrootDirectory /var/www/RESTRICTED_DIR
Dann habe ich ssh neu gestartet. MY_USER-Besitzer (und Gruppenbesitzer) von RESTRICTED_DIR gemacht und auf 755 geändert
Accepted password for MY_USER
session opened for user MY_USER by (uid=0)
fatal: bad ownership or modes for chroot directory component "/var/www/RESTRICTED_DIR"
pam_unix(sshd:session): session closed for user MY_USER
Wenn ich die 2 Zeilen aus sshd_config entfernt habe, kann sich der Benutzer erfolgreich anmelden. Natürlich kann es auf alle Server zugreifen. Was ist das Problem? Ich habe sogar versucht, RESTRICTED_DIR als root zu speichern (als ich irgendwo las, dass jemand das gleiche Problem gelöst hat). Kein Glück..
/
,/var
,/var/www
, und/var/www/RESTRICTED_DIR
müssen alle erfüllen die Sicherheitsanforderungen oben). Es ist eine echte Chroot (siehe Manpage) - das Home-Verzeichnis Ihres Benutzers muss in der Chroot vorhanden sein , ebenso wie/bin
alle anderen Dinge, die Ihr Benutzer benötigt ...sudo chown root:root -R /path/to/home; sudo chmod 755 -R /path/to/home
/var/www
Pfad direkt zu ändern, was Apache beschädigen könnte, ist es weitaus besser, Ihr SFTP-Verzeichnis in einen anderen Pfad zu verschieben, als die URL-Zuordnung in Apache zu verwenden, um auf das andere Verzeichnis zu verweisen . Überprüfen Sie die Dokumentation hier httpd.apache.org/docs/2.4/urlmapping.html unterFiles Outside DocumentRoot
Das ChrootDirectory-Verzeichnis muss sich im Besitz von root befinden und über den 755-Modus verfügen:
Ok, jetzt müssen alle Dateien in
/var/www/RESTRICTED_DIR
Besitz von seinMY_USER
, die zurwww-data
Gruppe gehören müssen , und den 775-Modus haben, um Gruppenberechtigungen zuzulassen, wie folgt:HINWEIS: Denken Sie daran, dass Sie den Zugriff auf einen htdocs-Ordner nur dann zulassen sollten, wenn Sie Apache konfigurieren.
quelle
sudo usermod -a -G www-data MY_USER
wie es die Gruppe-G
Nachdem ich heute einige Fehler behoben hatte, wurde mir klar, dass root auch in die Verzeichnisse schreiben kann .
Folgendes hat nicht funktioniert:
Sobald ich das behoben hatte, fing meine Chroot an zu arbeiten.
quelle