Ich habe einen Benutzer angelegt und sein Home-Verzeichnis erstellt /var/www/mysite/ftpdir
Ich habe auch einen Match-Benutzereintrag für diesen Benutzer sshd_config
mit einem ChrootDirectory hinzugefügt, der auf verweist/var/www/mysite
Ich habe neu gestartet ssh
, um das aufzuheben.
Wenn ich mich mit sftp anmelde, wechselt der Benutzer immer noch in das alte Verzeichnis des Benutzers, d. H /home/user
Was vermisse ich?
/home/user
zum Ziel?Antworten:
Dies ist der Prozess:
Fügen Sie den Benutzer der Gruppe hinzu:
sudo usermod -aG www blub
Wie in Was ist der einfachste Weg, Dateien zu "/ var / www" zu bearbeiten und hinzuzufügen?oder einfach benutzen
sudo adduser <username> www-data
sudo apt-get install vsftpd
Konfigurieren Sie vsftpd für den Remotezugriff:
sudo nano /etc/vsftpd.conf
und innerhalb der Dateigruppeund stellen Sie sicher, dass dies auskommentiert ist:
gemäß Dokumentation .
sudo service vsftpd restart
Konfigurieren Sie das Ausgangsverzeichnis des Benutzers für das Webverzeichnis (nicht in
/home
):Konfigurieren Sie ssh chroot
Fügen Sie am Ende Folgendes hinzu:
und stellen Sie sicher, dass weiter oben in der Datei, dass dies auskommentiert ist (dh vor dem, den Sie gerade hinzugefügt haben)
Starten Sie ssh neu
Ändern Sie die Berechtigungen für Apache:
Wie in den Dokumenten hier .
Stellen Sie sicher, dass Ihr Verzeichnis über WWW-Datenzugriff verfügt
quelle
chown root:root /var/www/site
nur aufsudo chown -R www-data:www-data /var/www/site
Schritt 10 zurückgreifen müssen ? Ist dies beabsichtigt?Wenn Sie am Ende den Fehler " Verbindung abgelehnt " erhalten, stellen Sie sicher, dass "Subsystem sftp internal-sftp" nach "UsePAM yes" steht . Wenn nicht, dann aktualisiere und starte ssh neu und es funktionierte.
quelle
Ich habe eine einfache Methode und das hat bei mir für Apache funktioniert.
Das ist es, falls Sie immer noch mit Berechtigungsproblemen konfrontiert sind
chmod
undchown
diese entsprechend Ihren Anforderungen bearbeiten müssen.quelle