前提:关闭selenux,目录权限合理

VSFTPD是一个FTP服务器程序,然后SELinux是CentOS的防火墙组件。 vsftpd 默认被 SELinux 拦截

local_root=/westos                 #修改本地用户家目录


yum -y install vsftpd 来安装,安装之后首先创建ftp用户,比如ftp_test,命令如下:

useradd -s /sbin/nologin -d /home/ftp_test ftp_test

目录尽量不要选择根目录下,这里是/home/ftp_test,并且ftp_test这个目录不要手动创建

否则权限会有问题,执行命令的时候会自动创建

然后编辑vsftpd配置文件,位置是:vim /etc/vsftpd/vsftpd.conf

找到anonymous_enable这个配置项,默认是YES,修改成NO,表示不允许匿名用户登录

如果你此时想通过 chmod a-w /home/ftp_test 来去掉目录的写权限,那么连接成功是没问题的,但是无法上传文件了,所以网上很多说修改权限的方法是不可取的,正确的做法是应该在下面添加一行配置allow_writeable_chroot=YES表示允许对家目录的写权限,具体配置如下:

anon_other_write_enable=YES  允许匿名用户删除文件,创建文件

blob.png


在FTP服务器中,匿名用户的用户名和密码都是ftp ;这个用户可以在您的操作系统中的 /etc/passwd 中能找得到;如:

ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin

/var/ftp 是ftp用户的家目录,可以自己来定义


TIPS:

本地用户就是在系统中存在的用户,Linux里比如root,以及其他用户

客户端filezilla的使用:权限不够的时候会提醒

blob.png