Ich versuche, vsftpd zu verwenden, um es einem Benutzer zu ermöglichen, Dateien in / var / www / html zu ftpen und zu bearbeiten, in denen sich die meisten Dateien im Besitz von Apache befinden. Bisher habe ich setsebool verwendet, um systemweites FTP zu aktivieren, und setfacl, um meiner FTP-Benutzergruppe rwx Berechtigungen für dieses Verzeichnis zu erteilen. Das Ausführen von getfacl bestätigt dies. Ich habe das auch rekursiv gemacht. Mein Problem ist, dass der Benutzer beim Anmelden über ftp alle Dateien sehen kann, aber keine bearbeiten oder sogar neue Dateien im Stammverzeichnis erstellen kann, sodass ich etwas verpasst habe. Irgendwelche Ideen?
1
Antworten:
@ Djangofan Ich weiß nicht, ob das SSHD-FTP-Subsystem das Chrooten von Benutzern in ein bestimmtes Verzeichnis zulässt oder nicht ... aber vielleicht ...
@Peter - Versuchen Sie, unter /var/log/vsftpd.log eine Beute zu machen und sehen Sie, was passiert, wenn ein Benutzer versucht, ein Verzeichnis in seinem Chroot-Verzeichnis (/ var / www / html) zu erstellen. Es sollte etwas, Berechtigungen und ungültige Antworten protokollieren kann keine Verzeichnisliste usw. abrufen. Versuchen Sie auch, Ihren FTP-Client auf einzustellen
PASSIVE
Modus scheint dies viele FTP-bezogene Probleme zu beheben.Außerdem hoffe ich, dass Sie die Benutzer chrooten und nicht den vollständigen System-FTP-Zugriff gewähren ... das ist sehr gefährlich, und Sie werden es möglicherweise eines Tages bereuen (FTP ist äußerst unsicher und sendet standardmäßig Anmeldeinformationen über Nur-Text - sofern Sie dies aktivieren Der SSL-Wrapper ist dann viel sicherer, aber der volle System-FTP-Zugriff ist nicht großartig. Wenn Sie wirklich wirklich vollen Systemzugriff benötigen und die Einrichtung nativer Berechtigungen sowie eine einfache Bedienung benötigen, überprüfen Sie die SCP-Anmeldung, die sich mit SSH (sicher) anmeldet, und der Benutzer ist auf die Berechtigungen beschränkt, die Sie im Dateisystem einrichten (derselbe Benutzer wie in /). etc / passwd).
Ich hatte zuvor ein Problem beim Einrichten von vsftpd (es kann heikel sein) ...
Hier ist eine Beispielkonfiguration meines Arbeitssystems, mit der Benutzer in eine Verzeichnisstruktur umgeleitet werden:
Und hier ist ein Beispiel für ein user_config_dir (chroot):
quelle
Wenn Sie httpd, vsftpd und SELinux zusammen verwenden möchten, müssen Sie anon_write für einen der beiden Dämonen zulassen.
Sie können das Standard-Setup mit gives with verwenden
ls -laZ /var/www
und erlauben Sie ftpd, anon schreibt über
Sie können dieses Setup auch umkehren, indem Sie einen FTP-Kontext festlegen
und httpd erlauben, anon schreibt über
Ich würde mich für das erste Setup entscheiden (das ftpd_anon_write zulässt), da es so viele Standardkonfigurationen wie möglich beibehält.
Möglicherweise möchten Sie auch die folgenden Selinux-Booleschen Werte aktivieren:
Oder sogar eine hässliche "All-Regel"
quelle