一、安装vsftpd
1. 运行如下代码安装vsftpd
yum install -y vsftpd
2. 运行以下命令设置FTP服务开机自启动
systemctl enable vsftpd.service
3. 运行以下命令启动FTP服务
systemctl start vsftpd.service
4. 运行以下命令查看FTP服务监听的端口
netstat -antup | grep ftp
二、配置vsftpd
1. 运行以下命令为FTP服务创建一个Linux用户。本示例中,该用户名为ftptest
adduser ftptest
3. 运行以下命令创建一个供FTP服务使用的文件目录
mkdir /mydata/ftp
4. 运行以下命令更改/var/ftp/test目录的拥有者为ftptest
chown -R ftptest:ftptest /mydata/ftp
5. 修改vsftpd.conf配置文件
1) 运行命令打开配置文件
vim /etc/vsftpd/vsftpd.conf
2) 根据如下内容,修改或添加相关配置参数
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
port_enable=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
anonymous_enable=NO
local_enable=YES
listen=YES
listen_ipv6=NO
local_root=/mydata/ftp
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
pasv_enable=YES
allow_writeable_chroot=YES
pasv_address= ******
pasv_min_port=40000
pasv_max_port=40100
userlist_deny=NO
userlist_file=/etc/vsftpd/user_list
建议您把端口范围设置在一段比较高的范围内,例如50000~50010,有助于提高访问FTP服务器的安全性。
3)创建chroot_list文件,并在文件中写入例外用户名单
vim /etc/vsftpd/chroot_list
4)运行以下命令重启vsftpd服务
systemctl restart vsftpd.service
三、解决无法创建文件、无法连接到服务问题
1. 暂时关闭防火墙测试
systemctl stop firewalld.service
2. 暂时关闭SELINUX安全系统
setenforce 0
3. centos7防火墙操作
firewall-cmd --permanent --add-port=22/tcp (开放22端口)
firewall-cmd --reload
sudo systemctl start firewalld
sudo systemctl stop firewalld
sudo systemctl status firewalld
四、vsftp配置文件及参数说明
1. /etc/vsftpd目录下文件说明如下:
- /etc/vsftpd/vsftpd.conf 是vsftpd的核心配置文件。
- /etc/vsftpd/ftpusers 是黑名单文件,此文件中的用户不允许访问FTP服务器。
- /etc/vsftpd/user_list是白名单文件,此文件中的用户允许访问FTP服务器。
2. 配置文件vsftpd.conf参数说明如下:
参数 | 说明 |
---|
pasv_enable=YES | 开启被动模式 |
pasv_enable=NO | 开启主动模式 |
不设置该参数 | 配置文件中默认不设置该参数,表示使用被动模式 |
3. 用户登录控制参数说明如下表所示:
参数 | 说明 |
---|
anonymous_enable=YES | 接受匿名用户 |
no_anon_password=YES | 匿名用户login时不询问口令 |
anon_root=(none) | 匿名用户主目录 |
local_enable=YES | 接受本地用户 |
local_root=(none) | 本地用户主目录 |
4. 用户权限控制参数说明如下表所示:
参数 | 说明 |
---|
write_enable=YES | 可以上传文件(全局控制) |
local_umask=022 | 本地用户上传的文件权限 |
file_open_mode=0666 | 上传文件的权限配合umask使用 |
anon_upload_enable=NO | 匿名用户可以上传文件 |
anon_mkdir_write_enable=NO | 匿名用户可以建目录 |
anon_other_write_enable=NO | 匿名用户修改删除 |
chown_username=lightwiter | 匿名上传文件所属用户名 |
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)