HCRM博客

如何配置CentOS上的vsftpd服务?

vsftpd for centos

环境说明

1、操作系统:本次操作在CentOS 7.6环境下进行。

如何配置CentOS上的vsftpd服务?-图1
(图片来源网络,侵权删除)

2、软件包:vsftpd版本为3.0.229.el7_9。

安装与配置

1、更新软件包(可选)

```bash

sudo yum update y

```

2、安装vsftpd

如何配置CentOS上的vsftpd服务?-图2
(图片来源网络,侵权删除)

```bash

sudo yum install vsftpd y

```

3、备份原始配置文件(可选):

```bash

sudo cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bak

如何配置CentOS上的vsftpd服务?-图3
(图片来源网络,侵权删除)

```

4、编辑vsftpd配置文件

```bash

sudo vi /etc/vsftpd/vsftpd.conf

```

5、关键配置项

```text

anonymous_enable=NO

local_enable=YES

write_enable=YES

local_umask=022

dirmessage_enable=YES

xferlog_enable=YES

connect_from_port_20=YES

xferlog_std_format=YES

chroot_local_user=YES

allow_writeable_chroot=YES

listen=YES

listen_ipv6=NO

pam_service_name=vsftpd

userlist_enable=YES

tcp_wrappers=YES

local_root=/home/$USER

user_sub_token=$USER

userlist_deny=NO

userlist_file=/etc/vsftpd/user_list

pasv_min_port=30000

pasv_max_port=31000

pasv_address={{vsftpd服务器的公网IP}}

```

6、重启vsftpd服务

```bash

sudo systemctl restart vsftpd

```

7、打开端口

如果使用firewall:

```bash

sudo firewallcmd permanent addport=21/tcp

sudo firewallcmd permanent addservice=ftp

sudo firewallcmd reload

```

如果使用iptables:

```bash

sudo iptables A INPUT p tcp dport 20 j ACCEPT

sudo iptables A INPUT p tcp dport 21 j ACCEPT

```

8、创建FTP用户

```bash

sudo adduser ftpuser

sudo passwd ftpuser

```

9、创建FTP目录并设置权限

```bash

sudo mkdir p /home/ftpuser/ftp

sudo chown R ftpuser:ftpuser /home/ftpuser/ftp

sudo chmod 755 /home/ftpuser/ftp

```

问题排查

1、FTP用户被拒绝登录:如果禁止了FTP用户通过SSH登录,可能会被拒绝登录,解决办法包括:开放FTP用户的SSH登录权限,将/sbin/nologin 添加到/etc/Shells 文件中,或修改PAM配置文件以允许FTP用户登录。

2、检查FTP用户是否被正确添加到/etc/vsftpd/user_list 文件中,且未列在/etc/vsftpd/ftpusers 文件中

3、查看vsftpd日志

```bash

sudo journalctl u vsftpd f

```

4、使用工具抓包分析

相关问答FAQs

1、如何生成SSL/TLS证书以加密FTP传输?

解答:使用OpenSSL命令生成自签名证书,并将其路径添加到vsftpd配置文件中,具体步骤如下:

```bash

sudo openssl req x509 nodes days 3650 newkey rsa:2048 keyout /etc/vsftpd/vsftpd.pem out /etc/vsftpd/vsftpd.pem

```

然后编辑vsftpd配置文件,添加以下内容:

```text

rsa_cert_file=/etc/vsftpd/vsftpd.pem

rsa_private_key_file=/etc/vsftpd/vsftpd.pem

ssl_enable=YES

```

最后重启vsftpd服务。

2、如何在CentOS上启用被动模式并进行配置?

解答:在vsftpd配置文件中启用被动模式并指定端口范围,具体步骤如下:

```bash

sudo vi /etc/vsftpd/vsftpd.conf

```

添加或修改以下配置:

```text

pasv_enable=YES

pasv_min_port=30000

pasv_max_port=31000

```

保存文件并重启vsftpd服务,确保在防火墙中放行相应的端口范围。

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