posts - 0,  comments - 20,  trackbacks - 0

原文:http://hi.baidu.com/ma95221/blog/item/c779741137cc121bb8127b4f.html
系统是CentOS,是RH派系的。把vsftpd安装配置好了,以为大功告成,但客户端访问提示如下错误:
500 OOPS: cannot change directory:/home/ftp
原因是他的CentOS系统安装了SELinux,因为默认下是没有开启FTP的支持,所以访问时都被阻止了。
//查看SELinux设置
# getsebool -a|grep ftp
ftpd_disable_trans --> off
或者
ftp_home_dir-->off

解决方法:
//使用setsebool命令开启
# setsebool ftpd_disable_trans 1
或者
# setsebool ftp_home_dir 1
再次查看当前状态是否是on的状态
# getsebool -a|grep ftp
ftpd_disable_trans --> on
或者
ftp_home_dir-->on

//setsebool使用-P参数,无需每次开机都输入这个命令
# setsebool -P ftpd_disable_trans 1
或者
# setsebool -P ftp_home_dir 1
# service vsftpd restart

有关selinux的配置

如关闭,仅仅警告,强制等等 需要编辑/etc/sysconfig/selinux 默认是强制

查看当前SELinux设置和状态
  • sestatus命令
    # 当前SELinux开启设为启动,permissive模式,在当前状态下,可以使用setenforce 1改变为enforcing模式
        [root@CentOS5 ~]# sestatus
        SELinux status:                 enabled
        SELinuxfs mount:                /selinux
        Current mode:                   permissive
        Mode from config file:          disabled
        Policy version:                 21
        Policy from config file:        targeted
  • 上面的输出是CentOS5中的,这里说明一下,sestatus这个命令在CentOS4/RHEL4(policycoreutils-1.18)和CentOS5/RHEL5(policycoreutils-1.33)中的默认输出不一样,在旧版本中,默认会同时输出详细的规则布尔值,而在新版本中默认不输出,使用-b开关可以打印这些布尔值,下面是旧版本(policycoreutils-1.18)中的输出样例
  • [root@CentOS4 ~]# sestatus使用getenforce也可以查看当前状态
  • 设置和修改SELinux状态
  • setenforce
    setenforce 1 # 设定selinux模式为enforcing
        setenforce 0 # 设定selinux模式为permissive
        # 注:当前SElinux为Disabled状态时,setenforce会执行失败,并警告:"setenforce: SELinux is disabled"
    修改/etc/sysconfig/selinux:这个文件决定了系统启动时是否启用SELinux以及启动的模式

posted on 2010-01-18 22:59 Documents 阅读(3648) 评论(0)  编辑  收藏 所属分类: LinuxCentOS

只有注册用户登录后才能发表评论。


网站导航:
 
<2024年11月>
272829303112
3456789
10111213141516
17181920212223
24252627282930
1234567

留言簿

文章分类

文章档案

J2EE

搜索

  •  

最新评论