CentOS下安装vsftpd架设ftp服务器(2)

他的系统是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

由于操作系统一旦重启后,这种设置需要重新设置,这里使用-P参数实现.

//setsebool使用-P参数,无需每次开机都输入这个命令

# setsebool -P ftpd_disable_trans 1
# setsebool -P ftp_home_dir 1

//查看当前状态是否是on的状态

# getsebool -a|grep ftp
ftpd_disable_trans --> on
ftp_home_dir-->on

# service vsftpd restart

有关selinux的配置

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

1.553 Could not create file
一般都是SELinux的问题,设置SELinux的一个值,重启服务器即可。

setsebool -P ftpd_disable_trans 1
service vsftpd restart

2.500 OOPS: bad bool value in config file for: write_enable
注意你的CentOS FTP服务文件中保证每一行最后没有任何空格,一般出错就是在多余的空格上。

打开/etc/selinux/config

将selinux=enforcing 改成 permissive 或 disabled。

•enforcing强制模式,只要SELinux不允许,就无法执行;

•permissive警告模式,将该事件记录,依然允许执行;
•disabled关闭SELinux;
•停用、启用需要重启计算机;
•使用setenforce切换enforcing与permissive模式不需要重启计算机;
•getenforce及sestatus查看执行模式;

 关闭selinux命令:setenforce 0

我的FTP无法访问提示ftp: connect :未知错误号

以前问过这个问题,朋友们说是LINUX的防火墙没有关闭
请问在字符方式下如何关闭我LINUX上的防火墙?


yongpeng

我的FTP无法访问提示ftp: connect :未知错误号

service iptables stop
or
/etc/rc.d/init.d/iptables stop


nios

我的FTP无法访问提示ftp: connect :未知错误号

谢谢你了,
LINUX 默认会起这个防火墙吗??
顺便说一下刚才发现一个查看服务的命令

/sbin/service --status-all


ftp:connect:未知错误号

可能的原因是ftp服务没有真正启动成功,可以做以下几步

1、查看两台机器间能否ping通

2、关闭防火墙:service iptables stop (也可以chkconfig iptables off 这样启动是就关闭了,其他服务类似)

3、查看21端口,有没有被其他暂用:netstat -ano | grep 21

 

如果被暂用,就修改ftp的默认端口

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/psjdy.html