CentOS6.4下装vsftpd-2.2.2-11遇到的问题
 
1:修改/etc/sysconfig/selinux配置文件后系统无法启动问题
 
由于装vsftp后在win7下上传文件总是550,看网上有说修改该配置文件,把SELINUX=enforing改为disabled的,于是就尝试了,然后重启,悲剧了,vmware提示“客户机操作cpu已被禁用,请关闭电源或重启虚拟机”。由于头一次遇到这中文提,所以也没怀疑到是刚才参数配置的。然后网上求救,各种修改虚拟机参数,修改vmware进程对应的cpu核数,结果都不起作用。
进不了系统,那还能干毛啊,没法,只得重装,好在重装很快,个把小时吧,又来了一遍,jdk,tomcat,sshd个性化参数配置等都处理了一边,然后又开始装vsftpd,一路ok,然后win登录,仍然550,重复上面操作,修改参数,重启,好吧,又死了。看来得确是修改/etc/sysconfig/selinux参数引起的,那就找解决方案吧,大致搜索了一番,较为靠谱的就是使用linux单用户进入系统,然后还原配置文件参数。那就开始吧:
1:进入启动画面后,当初先操作系统选择界面时候,按“e”,进入系统启动编辑界面。
2:上下键翻滚,选中kernel,然后点击“e”,进入编辑界面
3:在该行最后键入空格,然后输入" selinux=0 single",回车,返回上一界面,点击“b”。
4:   ok,进入单用户模式,把/etc/sysconfig/selinux参数还原,reboot,启动恢复正常(重启过程相对很慢,因为需要重新对整个文件系统进行标记)。
 
2:550:Permission deined
 
开始网上找的到几个类似问题解决方案,都是修改系统/etc/vsftpd/vsftpd.conf文件,把write_enable=NO改为YES即可,但我的配置文件里面本来就是这样的,然后接着找答案,发现有提到修改anon_upload_enable=YES,查看自己的配置文件,果真,这行是被注释的,去掉注释,重启服务,好了,550没有了,看来不同版本下注释的参数不一样啊,我的版本vsftpd-2.2.2-11。
 
3:553 could not create file
 
解决完上面的问题,就又开始553错误了,按照网上说的,输入如下命令:
setsebool -P ftpd_disable_trans 1
结果提示xxx(no such file or directory),就纳闷了,怎么好多方案到我这都不行呢,look for ing..
总算找到眼前一亮的了,输入如下命令:
getsebool -a |grep ftpd
返回:
allow_ftpd_anon_write --> off
allow_ftpd_full_access --> off(红色部分)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
allow_ftpd_use_cifs --> off
allow_ftpd_use_nfs --> off
ftpd_connect_db --> off
ftpd_use_passive_mode --> off
修改红色一行,把off改为on
setsebool allow_ftpd_full_access on
service vsftpd restart
win7下测试上传,成功!