
Ich habe SFTP/SSH so eingerichtet, dass ein Benutzer nur put
auf sein Home-Verzeichnis zugreifen kann, jedoch weiterhin cd
auf alle anderen Verzeichnisse und get
Dateien, die er sieht.
Wie kann ich das verhindern?
BEARBEITEN:
Meine sshd_config: http://pastebin.com/jk7TCRZr
Ich habe es geschafft, /var/www zu sperren, aber sie können immer noch die Ordner anderer Benutzer anzeigen.
BEARBEITEN 2:
Ähm... mir ist gerade klar geworden, was ich falsch gemacht habe ... Ha ha
Und noch ein Hinweis: Wie kann ich den Ordner „public_html“ zum Ordner machen, aus dem Apache versucht, Daten zu laden?
Antwort1
Sie sollten SFTP-Chroot konfigurieren.
Antwort2
Oder Sie können es mit Tools wie tunhttp://olivier.sessink.nl/jailkit/
Antwort3
Fest.
Ich habe Folgendes getan (wahrscheinlich hätte ich das nicht tun sollen, aber bei mir hat es funktioniert. Das ist alles, was ich will):
Match user myUser
ChrootDirectory /var/www/myUser
ForceCommand internal-sftp
AllowTcpForwarding no
GatewayPorts no
X11Forwarding no
In /var/www/myUser habe ich das Verzeichnis public_html erstellt. Danach habe ich den Apache-Mod userdir wie folgt aktiviert:
sudo a2enmod userdir
sudo service apache2 restart
Und alles funktioniert einfach!
(das hat natürlich den offensichtlichen Nachteil, dass wir Benutzernamen jetzt eine Tilde voranstellen müssen)