Chinaunix首页 | 论坛 | 博客
  • 博客访问: 211204
  • 博文数量: 109
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 890
  • 用 户 组: 普通用户
  • 注册时间: 2014-03-24 17:06
文章分类

全部博文(109)

文章存档

2015年(1)

2014年(108)

分类: LINUX

2014-07-09 12:28:35

今天服务器新增了一个内存条,结果导致服务器的vsftpd再也进不去了,在网页上登陆,一直在认证阶段,填写的用户名和密码是正确的,但就是进不去。后来在服务器命令行测试 ftp://*.*.*.*或127.0.0.1(服务器ip)  *(端口),报错如下:
Connected to 127.0.0.1.
220 (vsFTPd 2.0.5)
530 Please login with USER and PASS.
530 Please login with USER and PASS.
KERBEROS_V4 rejected as an authentication type
Name (127.0.0.1:root): jack
331 Please specify the password.
Password:
500 OOPS: cannot change directory:/home/*

后来我一查找资料,都反映是selinux认证的问题导致的。于是按以下方法处理:

解决一:
原因是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 默认是强制

解决二:
解决该问题的方法如下:

1. 修改 selinux 的配置文件中的  SELINUX=enforcing 为 SELINUX= disabled (其实这样修改是不生效的,除非是重启系统才可以。)

2. 查看 ftp的状态  sestatus -b | grep ftp

     在出现的结果中可以看到 ftp_home_dir off

3.   tftpd_disable_trans off

     之类。我们现在只要把其中之一设置为on就可以啦。

4.  setsebool -P ftpd_disable_trans on 或者 setsebool -P ftp_home_dir on

5. 重启 vsftpd: /etc/init.d/vsftpd restart 


阅读(2048) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~