前提:关闭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 允许匿名用户删除文件,创建文件
在FTP服务器中,匿名用户的用户名和密码都是ftp ;这个用户可以在您的操作系统中的 /etc/passwd 中能找得到;如:
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
/var/ftp 是ftp用户的家目录,可以自己来定义
TIPS:
本地用户就是在系统中存在的用户,Linux里比如root,以及其他用户
客户端filezilla的使用:权限不够的时候会提醒
![1537621783334019.png blob.png](https://s1.51cto.com/images/20180922/1537621783334019.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)