在论坛上看到有些弟兄说vsFTPd服务器启动正常,但却不能访问或用户不能上传文件,我感觉应该是防火墙或SELinux的事;可能FTPD服务器被防火墙或SELINUX的安全机制防住了。所以您必须要让防火墙通过ftp,当然也要让SELinux通过ftp服务器才行; 在Fedora/Redhat/CentOS中,您要设置一下防火墙,可以把防火墙关掉,或者在自定义中让ftp “通过”防火墙; [root@localhost ~]# system-config-securitylevel-tui 或者运行一下如下的命令,清除防火墙规则(通用); [root@localhost beinan]# iptables -F 关于SELINUX服务器的解说 ,可能老手或新手对SELINUX都有点麻烦,建议您SELinux;或者让vsFTPd服务器跳过SELinux启动;这在Fedora/Redhat/CentOS中这样启动vsFTPd服务器是有效的; 当然您可也可以关掉SELINUX,在/etc/selinux/config 配置文件如下; /etc/selinux/config # This file controls the state of SELinux on the system. # SELINUX= can take one of these three values: # enforcing - SELinux security policy is enforced. # permissive - SELinux prints warnings instead of enforcing. # disabled - SELinux is fully disabled. SELINUX=Disabled #这样就把SELINUX服务器关掉了,请重新启动系统; # SELINUXTYPE= type of policy in use. Possible values are: # targeted - Only targeted network daemons are protected. # strict - Full SELinux protection. SELINUXTYPE=targeted 2.500 OOPS: vsftpd: refusing to run with writable anonymous root 如果我们已经把vsFTPd服务器启动好了,但登录测试是会出现类似下面的提示; 500 OOPS: vsftpd: refusing to run with writable anonymous root 这表示ftp用户的家目录的权限不对,应该改过才对; [root@localhost ~]# more /etc/passwd |grep ftp ftp:x:1000:1000:FTP User:/var/ftp:/sbin/nologin 我们发现ftp用户的家目录在/var/ftp,就是这个/var/ftp的权限不对所致,这个目录的权限是不能打开所有权限的;是您运行了chmod 777 /var/ftp所致;如果没有ftp用户这个家目录,当然您要自己建一个; 如下FTP用户的家目录是不能针对所有用户、用户组、其它用户组完全开放; [root@localhost ~]# ls -ld /var/ftp drwxrwxrwx 3 root root 4096 2005-03-23 /var/ftp 修正这个错误,应该用下面的办法; [root@localhost ~]# chown root:root /var/ftp [root@localhost ~]# chmod 755 /var/ftp 有的弟兄可能会说,那匿名用户的可读、可下载、可上传怎么办呢?这也简单,在/var/ftp下再建一个目录,权限是777的就行了,再改一改vsftpd.conf就OK了;没有什么难的;
vsFTPd出于安全考虑,是不准让ftp用户的家目录的权限是完全没有限制的,您可以去读一下vsFTPd的文档就明白的了;否则也不能称为最安全的FTP服务器了,对不对? |