Heim >Betrieb und Instandhaltung >Betrieb und Wartung von Linux >Erstellen Sie einen FTP-Server unter CentOS
vsftpd ist ein bekannter FTP-Server unter Linux. Natürlich ist dies die erste Wahl beim Aufbau eines FTP-Servers.
In diesem Artikel wird der Prozess der Installation von vsftpd und der Konfiguration virtueller Benutzer für die Anmeldung bei FTP unter CentOS 6.4 vorgestellt.
Text:
Eins: vsftpd installieren
Überprüfen Sie, ob vsftpd installiert wurde
rpm -qa | grep vsftpd #如果没有,就安装,并设置开机启动 yum -y install vsftpd chkconfig vsftpd on
Zweiten: Virtuelle benutzerbasierte Konfiguration
Der sogenannte virtuelle Benutzer nutzt kein reales Konto, sondern nur zum Zwecke der Zuordnung zu einem realen Konto und der Festlegung von Berechtigungen. Virtuelle Benutzer können sich nicht beim CentOS-System anmelden.
Ändern Sie die Konfigurationsdatei
Öffnen Sie /etc/vsftpd/vsftpd.conf und nehmen Sie die folgende Konfiguration vor
anonymous_enable=NO #设定不允许匿名访问 local_enable=YES #设定本地用户可以访问。注:如使用虚拟宿主用户,在该项目设定为NO的情况下所有虚拟用户将无法访问 chroot_list_enable=YES #使用户不能离开主目录 ascii_upload_enable=YES ascii_download_enable=YES #设定支持ASCII模式的上传和下载功能 pam_service_name=vsftpd #PAM认证文件名。PAM将根据/etc/pam.d/vsftpd进行认证 以下这些是关于vsftpd虚拟用户支持的重要配置项,默认vsftpd.conf中不包含这些设定项目,需要自己手动添加 guest_enable=YES #设定启用虚拟用户功能 guest_username=ftp #指定虚拟用户的宿主用户,CentOS中已经有内置的ftp用户了 user_config_dir=/etc/vsftpd/vuser_conf #设定虚拟用户个人vsftp的CentOS FTP服务文件存放路径。存放虚拟用户个性的CentOS FTP服务文件(配置文件名=虚拟用户名 进行认证 chroot_list_file=/etc/vsftpd/vuser_passwd.txt
Installieren Sie zunächst das Berkeley DB-Tool. Viele Leute können das nicht find db_load Das Problem ist, dass dieses Paket nicht installiert ist.
yum install db4 db4-utils
Erstellen Sie dann den Benutzerpassworttext /etc/vsftpd/vuser_passwd.txt. Beachten Sie, dass die ungeraden Zeilen der Benutzername und die geraden Zeilen das Passwort sind >Generieren Sie dann die Datenbankdatei für die virtuelle Benutzerauthentifizierung
test 123456
Bearbeiten Sie dann die Authentifizierungsdatei /etc/pam.d/vsftpd, kommentieren Sie alle ursprünglichen Anweisungen aus und fügen Sie die folgenden zwei Sätze hinzu:
db_load -T -t hash -f /etc/vsftpd/vuser_passwd.txt /etc/vsftpd/vuser_passwd.db
Schließlich erstellen Sie die virtuelle Benutzerkonfigurationsdatei
auth required pam_userdb.so db=/etc/vsftpd/vuser_passwd account required pam_userdb.so db=/etc/vsftpd/vuser_passwd
Setzen Sie Selinux ein (wenn Ihr Selinux aktiviert ist)
mkdir /etc/vsftpd/vuser_conf/ vi /etc/vsftpd/vuser_conf/test #文件名等于vuser_passwd.txt里面的账户名,否则下面设置无效 内容如下 local_root=/ftp/www #虚拟用户根目录,根据实际情况修改 write_enable=YES anon_umask=022 #掩码 anon_world_readable_only=NO anon_upload_enable=YES anon_mkdir_write_enable=YES anon_other_write_enable=YES
Legen Sie die FTP-Root-Verzeichnisberechtigungen fest
setsebool -P ftp_home_dir=1 #设置ftp可以使用home目录 sersebool -P allow_ftpd_full_access=1 #设置ftp用户可以有所有权限Das neueste vsftpd erfordert keine Schreibberechtigungen für das Hauptverzeichnis, also ist FTP 755, und legen Sie dann 777 Berechtigungen für die Unterverzeichnisse unter dem Hauptverzeichnis fest
mkdir /ftp/www #创建目录 chmod R 755 /ftp chmod R 777 /ftp/www
Richten Sie die Firewall ein
Öffnen Sie /etc/sysconfig/iptables Fügen Sie unter „-A INPUT –m state --state NEW –m tcp –p –dport 22 –j ACCEPT“ hinzu:Dann speichern und schließen Sie die Datei, führen Sie den folgenden Befehl im Terminal aus, um die Firewall-Konfiguration zu aktualisieren:
-A INPUT m state --state NEW m tcp p dport 21 j ACCEPT
OK, führen Sie „service vsftpd start“ aus und Sie können auf Ihren FTP-Server zugreifen.
service iptables restartPASV-Modus konfigurierenvsftpd aktiviert den PASV-Modus standardmäßig nicht. Um PASV standardmäßig zu aktivieren, müssen Sie /etc/ wie folgt öffnen Konfiguration vsftpd/vsftpd.conf, am Ende
hinzufügen und in der Firewall-Konfiguration die Ports 40000 bis 40080 öffnen
pasv_enable=YES #开启PASV模式 pasv_min_port=40000 #最小端口号 pasv_max_port=40080 #最大端口号 pasv_promiscuous=YES
iptabls und vsftpd neu starten
-A INPUT m state --state NEW m tcp p dport 40000:40080 j ACCEPT
Jetzt können Sie den PASV-Modus verwenden, um eine Verbindung zu Ihrem FTP-Server herzustellen~
service iptables restart service vsftpd restartHäufige Fehler: Frage 1: Aber nachdem ich dem gefolgt bin Bei den Konfigurationsschritten stellte ich fest, dass jedes Mal 530 Anmeldung falsch warNachdem ich mich umgesehen hatte, stellte ich fest, dass ich vsftpd.vu zur Überprüfung im Stammverzeichnis von etc anstelle von /etc erstellt hatte /pam.d/vsftpd.vuFrage 2: Nachdem ich das obige Problem behoben habe, kann ich mich immer noch nicht anmelden und erhalte folgende Meldung: 500 OOPS: fehlerhafter Bool-Wert in der Konfigurationsdatei für:anon_world_readable_only Ich habe gegoogelt und festgestellt, dass einige Leute sagten, dass am Ende der Konfigurationsdatei keine Leerzeichen stehen dürfen. Als ich meine eigene Konfigurationsdatei öffnete, stellte ich fest, dass nicht nur das Ende der anon_world_readable_only Zeile, aber auch am Ende der gesamten Datei gab es mehrere Leerzeichen. Seien Sie jedoch vorsichtig, wenn Sie Konfigurationen von Webseiten kopieren und einfügen. Frage 3: 500 OOPS: vsftpd: Der in „guest_username“ angegebene Benutzer kann nicht gefunden werden: aaAAm Ende wurde festgestellt, dass Es war ein Problem mit dem letzten Fall. Es sollte „aaa“ lauten.Achten Sie also auf die Details, es ist sehr einfach, die oben genannten Schritte zu installieren
Das obige ist der detaillierte Inhalt vonErstellen Sie einen FTP-Server unter CentOS. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!