500 OOPS: Verzeichnis kann nicht geändert werden: / home / user / public_html, VSFTPD-Fehler

7

Ich habe VSFTPD auf meinem Ubuntu-Server 12.04 eingerichtet, es hat sehr gut funktioniert. Bis ich versuchte, die Berechtigungen des Benutzers so zu ändern, dass der Benutzer nicht in das Verzeichnis / und nur in die darin enthaltenen Verzeichnisse wechseln konnte /home/user/public_html.

Es könnte etwas damit zu tun haben, dass ich das getan habe:

sudo chmod 700 -R /

Ich habe einen Benutzer, ftpUser, und er ist in einer Gruppe, ftpUsers. Die Berechtigungen von /home/user/public_htmlsind:

drwxrwxr-x 9 ftpUser ftpUsers 4096

Meine VSFTPD-Datei sieht folgendermaßen aus:

listen=YES
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
connect_from_port_20=NO
chroot_local_user=YES
pam_service=vsftpd
userlist_file=/etc/vsftpd.userlist
userlist_enable=YES
userlist_deny=NO

Und /etc/vsftpd.userlistda ist nur eine Zeile: ftpUser

Wie löse ich das, damit ich mich anmelden kann? Ich denke, es hat etwas mit Berechtigungen zu tun, aber ich weiß jetzt nicht, was es ist.

tversteeg
quelle
Ist der Benutzer ftpUserein lokaler oder ein virtueller Benutzer? Und hat er ein Heimverzeichnis?
OrangeTux
Es ist ein lokaler Benutzer und das Home-Verzeichnis ist / home / user / public_html, aber jetzt habe ich versucht, den Ubuntu-Server neu
tversteeg
Und wenn Sie einstellen chroot_local_user=NO? Nur um es zu überprüfen, ist das das Problem. Ich denke, dass es damit zu tun hat.
OrangeTux
Dann bekomme ich immer noch den gleichen Fehler!
Tversteeg

Antworten:

3

Sie können diesen Link überprüfen . Es hat bei mir funktioniert.

Stellen Sie sicher, dass die Benutzer- und Gruppenberechtigungen für das Konto und das Ausgangsverzeichnis übereinstimmen. Wenn Sie sich beispielsweise anmelden als:

Konto: x: 521: 500 :: / some / Verzeichnis: / sbin / nologin

Stellen Sie dann sicher, dass das für "Konto" definierte Ausgangsverzeichnis für Benutzer 521 und Gruppe 500 mindestens lesbar und ausführbar ist.

Tolulope
quelle
Als Ergänzung zu diesem Beitrag (der besagt, dass Ihre Verzeichnisberechtigungen in Ordnung sind - zumindest für den Benutzer / die Gruppe lesbar) müssen Sie auch sicherstellen, dass die Berechtigungen für die übergeordneten Verzeichnisse ausreichen (mindestens Berechtigungen ausführen).
Bill Denney
2

Dieser Fehler wird aufgrund von Selinux generiert. Bitte führen Sie die folgenden Aktionen aus:

[root@sun02 vsftpd]# getenforce
    Enforcing

[root@sun02 vsftpd]# getsebool -a | grep ftp
    allow_ftpd_anon_write –> off
    allow_ftpd_full_access –> off
    allow_ftpd_use_cifs –> off
    allow_ftpd_use_nfs –> off
    allow_tftp_anon_write –> off
    ftp_home_dir –> off     # We need to change this to on - see next command.
    ftpd_disable_trans –> off
    ftpd_is_daemon –> on
    httpd_enable_ftp_server –> off
    tftpd_disable_trans –> off

[root@sun02 vsftpd]# setsebool -P ftp_home_dir on

Das ist alles was du brauchst.

Viel Glück!

Quelle: Über den obigen Link kopiert und eingefügt. Dank an @Jaime M. von http://blog.arithm.com/

Arush Salil
quelle
1
Es gibt einen Tippfehler im Befehl, es ist "setsebool -P ftp_home_dir on" nicht "setseboll -P ftp_home_dir on"
Sathish