centOS 配置ftp全过程

环境centOS7 ,防火墙是iptables

  1. 以管理员运行:yum install vsftpd#安装ftp
  2. chkconfig vsftpd on#设置开机启动
  3. service vsftpd start #启动ftp服务
  4. yum -y install ftp #安装组件,
  5. ftp localhost #测试登陆,输入用户名ftp,密码随便(因为默认是允许匿名的)登录成功,就代表ftp服务可用了。但是,外网是访问不了的,所以还要继续配置。
  6. vim /etc/sysconfig/iptables #找到一行22 -j ACCEPT 把它复制一行到下面,把端口号22改成21,保存退出
  7. service iptables restart #重启防火墙
  8. vim /etc/vsftpd/vsftpd.conf #去掉两行注释 #chroot_list_enable=YES 和  #chroot_list_file=/etc/vsftpd.chroot_list 的#号
  9. service vsftpd restart #重启ftp服务
  10. useradd -d /www aaa #新建用户aaa,并指定/www为访问目录
  11. passwd aaa #给用户aaa设置密码
  12. usermod -d /www/app aaa #修改aaa的主目录为/www/app
  13.  

最后,这里还是登录被拒绝,vim /etc/vsftpd/user_list 打开这里看一下,每个用户名独占一行,这是禁止登录列表,把aaa去掉就OK了。。

再然后,新买了个阿里服务器,centos7.2,安装最新的vsftpd后再次遇到500不能登录的问题,最终解决是在:

vim /etc/vsftpd/vsftpd.conf 配置文件中增加一行

allow_writeable_chroot=YES

如果还是不行,但关闭防火墙之后可以登录ftp,寻就是iptables需要添加模块

1.添加ip_conntrack_ftp 模块
[root@hexuweb101 ~] vi /etc/sysconfig/iptables-config
添加下面一行
IPTABLES_MODULES="ip_conntrack_ftp"

以下是解释:

从2.3.5之后,vsftpd增强了安全检查,如果用户被限定在了其主目录下,则该用户的主目录不能再具有写权限了!如果检查发现还有写权限,就会报该错误。

 要修复这个错误,可以用命令chmod a-w /home/user去除用户主目录的写权限,注意把目录替换成你自己的。或者你可以在vsftpd的配置文件中增加下列两项中的一项:

猜你喜欢

转载自blog.csdn.net/cout__waht/article/details/82354644