Ich verwende einen Ubuntu 10.04 LTS-Server und möchte Benutzer erstellen, die nur über FTP auf den Server zugreifen können.
Was ich bisher gemacht habe ist:
- Installieren
vsftpd
- Erstellen Sie einen neuen Benutzer mit der Standard-Login-Shell
/bin/false
Die normalen Benutzer auf dem Server können alle über FTP auf ihren Basisordner zugreifen, aber die Benutzer, denen der Remote-Shell-Zugriff durch Festlegen entfernt wird, können /bin/false
sich auch nicht über FTP anmelden.
Ich verstehe nicht, wie sich der Shell-Zugriff auf den vsftpd
Server auswirkt . Wie kann ich den FTP-Zugriff aktivieren, ohne die Shell erneut zu aktivieren?
Update:
Ich habe diese Referenz gefunden , die besagt, dass ich verwenden sollte /sbin/nologin
(scheint /usr/sbin/nologin
in Ubuntu zu sein) und dass sie den FTP-Zugriff nicht beeinträchtigen sollte, aber in meinem Fall nicht funktioniert.
Antworten:
Ich weiß nicht, ob es eine gute Praxis ist, meine eigene Frage zu beantworten, aber ich habe eine einfache Lösung gefunden, die die FTP-Anmeldung ermöglicht.
Ich musste die Zeile hinzufügen
in die Datei / etc / shells. Unmittelbar nach dieser Änderung akzeptierte der FTP-Server die Anmeldung von Benutzern, für die die Shell / usr / sbin / nologin festgelegt ist. Sie können sich also nicht über ssh anmelden, aber es funktioniert mit FTP genau so, wie ich es wollte.
Vielen Dank für Ihre hilfreichen Kommentare.
quelle
Set Benutzer Shell wieder auf
/bin/false
(oder ein ander ungültig Shell) dann gesetzt/bin/false
in/etc/shells
.Ich sehe ein großes Sicherheitsproblem beim Einstellen
/usr/sbin/nologin
in/etc/shells
. Sie gewähren FTP (und möglicherweise anderen) Zugriff auf alle Daemons und Logins,/usr/sbin/nologin
deren Shell.quelle
/etc/nologin.txt
damit der FTP-Benutzer wissen kann, dass es sich nur um FTP handelt oder um eine solche.