若是你的vsftpd.conf已经参考其它资料配置成功了,而且能够下载文件 可是还没法实现用户的上传和新建文件,就是下面的问题。linux
selinux的配置
SELinux(Security-Enhanced Linux) 是美国国家安全局(NAS)对于强制访问控制的实现,是 Linux上最杰出的新安全子系统。NSA是在Linux社区的帮助下开发了一种访问控制体系,在这种访问控制体系的限制下,进程只能访问那些在他的任务中所须要文件。SELinux 默认安装在 Fedora 和 Red Hat Enterprise Linux 上,也能够做为其余发行版上容易安装的包获得。
最简单的办法,关闭selinux
方法1:修改/etc/selinux/config文件中的SELINUX="" 为 disabled ,而后重启。
方法2:用命令setenforce 0,无需重启。(setenforce的格式:setenforce [ Enforcing | Permissive | 1 | 0 ])
方法3:在lilo或者grub的启动参数中增长:selinux=0,也能够关闭selinux。
使用getenforce查看当前selinux是否正在运行。而后从新进入ftp,进行测试吧。
或者,不关闭selinux,就要设置selinux的ftp权限。安全
一、使用getsebool -a | grep ftp查看ftp相关设置状态,咱们要将allow_ftpd_anon_write设为on。
二、使用setsebool -P 进行设置。例:setsebool -P allow_ftpd_anon_write=on。
或使用togglesebool进行bool值取反,例如togglesebool allow_ftpd_anon_write。
三、修改selinux安全上下文,先介绍两个命令:
命令一、ls -Z ps -Z id -Z # 分别能够看到文件,进程和用户的SELinux属性
命令二、#chcon 改变SELinux安全上下文
chcon -u [user] 对象
-r [role]
-t [type]
-R 递归
--reference 源文件 目标文件 # 复制安全上下文
使用方法:
步骤一、ls -Zd /var/ftp/pub/一般会看到:测试
drwxr-xr-x ftp root system_u:object_r:public_content_t /var/ftp/pub/
步骤二、chcon -R -t public_content_rw_t /var/ftp/pub/
步骤三、ls -Zd /var/ftp/pub/ 若是看到以下信息就OK了:
drwxr-xr-x ftp root system_u:object_r:public_content_rw_t /var/ftp/pub/