centos7搭建vsftp
时间: 2023-10-10 19:06:53 浏览: 40
1. 安装vsftpd
```
yum install vsftpd
```
2. 配置vsftpd
编辑配置文件`/etc/vsftpd/vsftpd.conf`,根据需要进行配置,以下是常用的配置项:
```
anonymous_enable=NO # 禁止匿名用户登录
local_enable=YES # 允许本地用户登录
write_enable=YES # 允许用户上传文件
local_umask=022 # 上传文件的权限掩码
dirmessage_enable=YES # 允许使用目录说明文件
xferlog_enable=YES # 允许日志记录
connect_from_port_20=YES # 使用主动模式
pasv_enable=YES # 允许被动模式
pasv_min_port=30000 # 被动模式最小端口
pasv_max_port=30999 # 被动模式最大端口
chroot_local_user=YES # 将用户限制在其主目录中
chroot_list_enable=YES # 允许使用chroot_list_file
chroot_list_file=/etc/vsftpd/chroot_list # chroot列表文件
```
3. 创建ftp用户
创建ftp用户并设置密码:
```
useradd -d /home/ftpuser -s /sbin/nologin ftpuser
passwd ftpuser
```
4. 配置ftp目录
在ftp用户的主目录`/home/ftpuser`下创建一个目录,作为ftp根目录:
```
mkdir /home/ftpuser/ftp
```
5. 设置ftp目录权限
```
chown -R ftpuser:ftpuser /home/ftpuser/ftp
chmod -R 755 /home/ftpuser/ftp
```
6. 添加用户到chroot列表
将ftp用户添加到chroot列表,使其被限制在其主目录中:
```
echo "ftpuser" >> /etc/vsftpd/chroot_list
```
7. 启动vsftpd服务
```
systemctl start vsftpd
systemctl enable vsftpd
```
8. 配置防火墙
如果系统开启了防火墙,需要打开ftp的相关端口:
```
firewall-cmd --permanent --add-port=21/tcp
firewall-cmd --permanent --add-port=30000-30999/tcp
firewall-cmd --reload
```
9. 测试ftp连接
使用ftp客户端连接ftp服务器,如果连接成功,即可上传、下载文件。