[LINUX] Wenn FTP keine Verbindung herstellt, überprüfen Sie die Anmeldeshell und / etc / shells des Benutzers

Als ich neulich den Server für Unternehmen baute, blieb ich bei der Einführung von FTP hängen, daher werde ich ihn als Memorandum aufschreiben.

Serverumgebung

CentOS8 proftpd

FTP stellt keine Verbindung her!

Ich habe mich mit SSH mit dem Server verbunden und proftpd mit dnf installiert.

Als ich ein Konto für FTP erstellt und versucht habe, eine Verbindung über Filezilla herzustellen, ist die Anmeldung fehlgeschlagen.

FTP ist in den Firewall-Einstellungen zulässig und Port 21 ist geöffnet.

Ich habe die Firewall ausgeschaltet und versucht, eine FTP-Verbindung herzustellen, aber die Anmeldung ist erneut fehlgeschlagen.

Ich habe proftpd deinstalliert und vsftpd installiert, aber dies konnte sich auch nicht anmelden.

Ich fand es nutzlos, weil ich es über dnf installiert habe, und selbst wenn ich es aus der Quelle von proftpd erstellt habe, ist die Anmeldung fehlgeschlagen.

Nachdem Sie die FTP-Einstellungsdatei berührt und mehr als einen halben Tag wiederholt installiert und deinstalliert haben

Als ich die Berechtigungen der Anmeldeshell des Benutzers überprüfte, war es / bin / false.

less /etc/passwd

/ bin / false scheint die FTP-Verbindung abzulehnen.

Ändern Sie also die Login-Shell des Benutzers.


usermod -s /sbin/nologin hogehoge_user

Überprüfen Sie auch / etc / shells, um festzustellen, ob / sbin / nologin registriert ist.

less /etc/shells

Wenn es keine Beschreibung von / sbin / nologin gibt, fügen Sie sie hinzu.

/etc/shells


/bin/sh
/bin/bash
/bin/rbash
/bin/dash
/sbin/nologin

In meinem Fall ist die FTP-Verbindung jetzt möglich.

Ich hoffe, es hilft denen, die sich in der gleichen Situation wie ich befinden.

Referenz-URL

https://littlebuddha.hatenadiary.org/entry/20090805/1249457771 https://qiita.com/Marukaziler/items/51da64b8935444c1d9e7

Recommended Posts

Wenn FTP keine Verbindung herstellt, überprüfen Sie die Anmeldeshell und / etc / shells des Benutzers
Shell und Shell-Skript