Linux ( RHEL 4 )中ftp连接530错误的解决方法

在工作经常会遇见这个问题,在Windows上使用ftp命令登录Linux服务器时会有这样的提示:530 Must perform authentication before identifying USER。经过网上的查找终于找的解决得方案。首先谢谢提供解决方案的高手们。本人特借鉴过来,做此记录只为学习使用。目前本人知道解决方法如下:

首先,如果正在使用vsftpd,可以先把其停掉,命令:service vsftpd stop,接下来需要编辑/etc/xinetd.d/下的gssftp配置文件,文件内容如下:

# default: off
# description: The kerberized FTP server accepts FTP connections
#              that can be authenticated with Kerberos 5.
service ftp
{
disable = yes
flags           = REUSE
socket_type     = stream
wait            = no
user            = root
server          = /usr/kerberos/sbin/ftpd
server_args     = -l -a
log_on_failure  += USERID
}

在文件中,我们要修改的内容有:

1、disable = yes 改为 disable =no ,系统默认ftp功能是无效的,修改使ftp功能生效。

2、server_args = -l -a 改为 server_args = -l。

without -a means : *enable weak authentication*
其中表示使用Kerberos 5验证机制,而一般的ftp是不支持该验证机制的。
修改完毕后,将其保存。

3、重启启动xinetd服务。请执行一下的命令(/etc/xinetd.d/):
service xinetd restart
service vsftpd restart

注:
1、建议gssftp配置文件中的user(user = root)不要使用root,最好使用其他的用户。
2、在Linux RHEL 5 或者更高版本中可能不存在gssftp,本人还没有接触到。

相关推荐