Centous7安装VSFTP

1.yum install vsftpd -y 安装
2.自定义ftp根目录

mkdir -p /var/ftp/pub/ftptest

3.创建用户
(释义)-s /sbin/nologin 表示表示这个用户不能用来登录secureCRT这样的客户端。 这种不能登陆的用户又叫做虚拟用户。

useradd -d /var/ftp/pub/ftptest -g ftp -s /sbin/nologin ftptest

4.设置目录权限及用户权限

chown -R  ftptest /var/ftp/pub/ftptest    //更改目录拥有者
chmod -R 775 /var/ftp/pub/ftptest       // 设置目录权限

5设置密码

passwd ftptest

6.用户配置修改配置文件

vi /etc/vsftpd/vsftpd.conf

(1) 修改#anonymous_enable=YES 为anonymous_enable=NO 去掉匿名登录
(2) 修改 #chroot_list_enable=YES 为 chroot_list_enable=YES用户访问限制
(3) 修改 #chroot_list_file=/etc/vsftpd.chroot_list 为
chroot_list_file=/etc/vsftpd.chroot_list 限制指定用户
(4) 添加一行 allow_writeable_chroot=YES 添加写的权限
(5) 添加一行 pasv_enable=YES 设置被动模式
(6) 添加一行pasv_min_port=30000 最小端口号
(7) 添加一行pasv_max_port=30010 最大端口号

7.允许用户访问清单

vi /etc/vsftpd/chroot_list  //增加一行 ftptest  (允许访问ftp的用户)

8.用户鉴权问题
Setenforce 0(selinuex disable) 设置后可bu重启服务器,如不设置无法访问子集目录
Chroot_list_enable=YES 用户可切换目录(系统报错为根目录不存在时就是这个问题)
因为用户 ftptest 是 nologin的,所以存在鉴权的问题。 如果鉴权问题不解决,就是永不停息的 530错误,无法登陆,提示登陆信息错误。
解决方式:
1)vi /etc/pam.d/vsftpd
注释掉/etc/pam.d/vsftpd文件里这一行:#auth required pam_shells.so
这样不去鉴权,从而允许 ftptest 这种 nologin用户登录 ftp 服务器.
2)vi /etc/shells
在/etc/shells文件里面增加一行:/sbin/nologin
这样允许不能登录系统的用户通过鉴权
3)修改local 022 为002并重新设置文件权限为755
4)Ftpd_allow_access设置为on
常见问题:a.以上配置完成无法登陆问题,关闭防火墙。systemctl stop iptables.service 或者是systemctl stop firewalld.service
b.无法上传文件可修改selinux模式为宽容模式,getenforce查看 setenforce 0(宽容permissive)1(强制enforcing)Disabled(禁用)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值