Centos7.6搭建FTP,并设置账号只能访问指定目录(解决了530问题)

1、安装vsftp

防止后面出现500错误,先把selinux关闭

vim /etc/selinux/config

将SELINUX=enforcing修改为SELINUX=disabled
修改完后,需要重启服务器才能生效,reboot一下

开始安装

yum install -y vsftpd

在这里插入图片描述

直接用yum安装就好

然后systemctl查看一下状态

systemctl status vsftpd

在这里插入图片描述

2、配置

关闭匿名登录
配置用户只能访问指定目录
开启被动模式
限制被动模式端口范围

对应配置
关闭匿名登录可以需要改,其他的在配置文件末尾追加
进入目录

cd /etc/vsftpd/

在这里插入图片描述

vim vsftpd.conf

关闭匿名登录
anonymous_enable=YES改为anonymous_enable=NO
在这里插入图片描述
配置用户只能访问指定目录,在文件末尾追加,这段配置的意思是,未配置在**/etc/vsftpd/chroot_list**文件中的账号,只能访问创建账号时指定的目录

chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
allow_writeable_chroot=YES

**注意:**chroot_list文件需要手动创建,先保存配置文件,创建chroot_list文件

touch chroot_list
chmod 777 chroot_list

如果不需要能访问所有目录的账号,则chroot_list为空,否则,只需要将账号名写在chroot_list中,一个账号一行,例如root账号和admin。
在这里插入图片描述
创建完毕文件后,继续修改配置

开启被动模式
限制被动模式端口范围

pasv_enable=YES
pasv_min_port=30000
pasv_max_port=30020

在这里插入图片描述
修改完成,:wq保存一下

修改pam.d/vsftpd文件

如果只是修改了上面的配置,登录账号是会出现530错误的

/etc/pam.d

用vim打开,注释掉auth required pam_shells.so
在这里插入图片描述
启动vsftp

systemctl start vsftpd

创建账号

创建账号并指定用户根目录,并禁止ssh登录,只能登录FTP

useradd -d /home/ftp -s /bin/false ftpuser

-d:指定目录
-s:禁止登录

设置密码

passwd ftpuser

在这里插入图片描述

测试

使用FileZilla连接FTP
在这里插入图片描述

小结

追加的配置项

chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
allow_writeable_chroot=YES

pasv_enable=YES
pasv_min_port=30000
pasv_max_port=30020

创建用户

useradd -d /home/ftp -s /bin/false ftpuser
passwd ftpuser

记得将vsftpd添加自启动

systemctl enable vsftpd
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值