HCRM博客

如何在CentOS上安装和配置Proftpd服务器?

在CentOS系统上安装和配置ProFTPD是一个相对简单的过程,但需要遵循一系列步骤以确保成功,以下将详细解释如何在CentOS 7.5上安装、配置和使用ProFTPD,包括常见问题的解答。

一、安装ProFTPD

1、安装EPEL存储库:ProFTPD位于EPEL(Extra Packages for Enterprise Linux)存储库中,因此首先需要安装它。

如何在CentOS上安装和配置Proftpd服务器?-图1
(图片来源网络,侵权删除)
   yum y install epelrelease

2、更新系统:确保所有内容都是最新的。

   yum y update

3、安装ProFTPD:使用yum命令进行安装。

   yum y install proftpd

二、配置ProFTPD

1、编辑配置文件:打开/etc/proftpd.conf文件进行配置修改

   nano /etc/proftpd.conf

2、更改服务器名称:将ServerName更改为您的服务器主机名。

   ServerName "Your_Server_Hostname"

3、启用并启动ProFTPD:在CentOS 7上,使用systemctl命令来管理服务。

   systemctl restart proftpd
   systemctl enable proftpd

4、防火墙设置:允许传入的FTP连接。

如何在CentOS上安装和配置Proftpd服务器?-图2
(图片来源网络,侵权删除)

Firewalld:

     firewallcmd permanent addport=21/tcp
     firewallcmd reload

Iptables:

     iptables A INPUT p tcp m tcp dport 20:21 j ACCEPT
     iptablessave > /etc/sysconfig/iptables

三、启用被动连接模式

1、编辑配置文件:添加以下行以启用被动连接模式。

   nano /etc/proftpd.conf
   PassivePorts 60000 65535
   AllowStoreRestart on
   AllowRetrieveRestart on
   TimeoutNoTransfer 65535
   ListOptions "la"
   TimeoutIdle 65535

2、防火墙设置:为被动端口范围添加规则。

Firewalld:

     firewallcmd permanent addport=6000065535/tcp
     firewallcmd reload

Iptables:

如何在CentOS上安装和配置Proftpd服务器?-图3
(图片来源网络,侵权删除)
     iptables A INPUT p tcp m tcp dport 60000:65535 j ACCEPT
     iptablessave > /etc/sysconfig/iptables

四、测试FTP服务

1、本地测试:使用netstat命令检查FTP守护进程是否正在运行。

   netstat plan | grep :21

2、FTP客户端连接:安装ftp客户端并进行连接测试。

   yum install y ftp
   ftp localhost

输入有效的用户名和密码进行身份验证,如果无法进入,认证消息将写入/var/log/secure

五、配置SFTP(安全FTP)

1、编辑配置文件:取消注释以下行以加载mod_sftp模块。

   nano /etc/proftpd.conf
   LoadModule mod_sftp.c
   LoadModule mod_sftp_pam.c

2、添加SFTP配置:在配置文件末尾添加以下内容。

   <IfModule mod_sftp.c>
       SFTPEngine on
       SFTPLog /var/log/sftp.log
       Port 2222
       SFTPHostKey /etc/ssh/ssh_host_rsa_key
       SFTPCompression delayed
   </IfModule>

3、防火墙设置:允许SFTP端口。

Firewalld:

     firewallcmd zone=public addport=2222/tcp permanent
     firewallcmd reload

Iptables:

     iptables A INPUT p tcp dport 2222 j ACCEPT
     iptablessave > /etc/sysconfig/iptables

4、重启ProFTPD:在CentOS 7上重启服务。

   systemctl restart proftpd

六、虚拟用户配置

1、创建虚拟用户文件:新建文件并设置权限。

   touch /etc/ftpd.passwd
   touch /etc/ftpd.group
   chmod 440 /etc/ftpd.passwd
   chmod 440 /etc/ftpd.group

2、编辑配置文件:指定虚拟用户配置文件。

   nano /etc/proftpd.conf
   AuthUserFile /etc/ftpd.passwd
   AuthGroupFile /etc/ftpd.group
   RequireValidShell off
   PersistentPasswd off
   AuthPAM off
   SystemLog /var/log/proftpd/proftpd.log
   AuthOrder mod_auth_file.c

3、检测配置文件语法:确保配置正确无误。

   proftpd t

4、启动并配置开机启动:启动ProFTPD并设置为开机自启。

   systemctl start proftpd
   systemctl enable proftpd

七、FAQs问答环节

Q1: 如何修改ProFTPD的监听端口?

A1: 要修改ProFTPD的监听端口,可以编辑/etc/proftpd.conf文件,找到Port指令并更改其值,将监听端口改为2121:

Port 2121

然后重启ProFTPD服务以使更改生效:

systemctl restart proftpd

确保防火墙规则也相应地更新以允许新的端口。

Q2: ProFTPD支持哪些数据库后端?如何配置?

A2: ProFTPD支持多种数据库后端,包括MySQL、PostgreSQL、LDAP和SQLite等,以下是一个简单的MySQL配置示例:

1、安装必要的软件包

   yum install proftpdmysql proftpdutils

2、编辑配置文件:取消注释以下行以加载mod_sql和mod_sql_mysql模块。

   nano /etc/proftpd.conf
   LoadModule mod_sql.c
   LoadModule mod_sql_mysql.c

3、添加数据库配置:在配置文件末尾添加以下内容。

   <IfModule mod_sql.c>
       SQLBackend mysql
       SQLEngine on
       SQLAuthenticate on
       SQLLogFile /var/log/proftpd/sql.log
       SQLConnectInfo mysqluser@localhost password dbname
       SQLUserInfo ftpuser userid passwd uid gid homedir shell
       SQLGroupInfo ftpgroup groupname gid members
       SQLMinUserGID 2001
       SQLMinUserUID 2001
   </IfModule>

4、重启ProFTPD:使更改生效。

   systemctl restart proftpd
分享:
扫描分享到社交APP
上一篇
下一篇