Centos ftp无法使用解决方法

首先,需要在centos服务器上将vsftpd服务开启。 因为默认情况下,vsftpd服务是关闭的。

最简单的办法就是在图形界面下,通过services将vsftpd服务开启。 开启vsftpd服务之后,肯定会报错的。一般情形下,会报下面的这个错误。

意思是无法访问该用户的home目录。 SELinux is preventing the ftp daemon from reading users home directories(home). 解决方法:官方文档说明,
setsebool -P ftp_home_dir=1(仅需要执行该命令即可以使用了) 你执行上面的命令就会报下面的错误:

bash: setsebool: command not found

解决办法:[root@bradydreamer brady]# find / -name "setsebool" /usr/sbin/setsebool [root@bradydreamer ~]# export PATH=$PATH:/usr/sbin [root@bradydreamer ~]# echo $PATH /usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/bin:/usr/bin:/bin:/sbin:/usr/X11R6/bin:/usr/sbin[root@jboss01 sbin]#setsebool -P ftp_home_dir=1[root@jboss01 sbin]# cd /usr/sbin[root@jboss01 sbin]# ./setsebool -P ftp_home_dir=1上述两种方法都可以解决该问题的。 这样,FTP服务就可以使用了。不需要重启服务器或者vsftpd服务。 如果需要重启ftp服务的话,执行下面的命令:[root@jboss01 sbin]#./sbin/service vsftpd restart这样就可以重启FTP服务了。

另外,如果查看ftp开启了什么权限的话,可以执行下面的命令:[root@jboss01 sbin]# getsebool -a | grep ftp当然,这个命令也是在/usr/sbin目录下的

启动,关闭ftp服务器的方法

启动命令/etc/init.d/vsftpd start stop restart ./sbin/service vsftpd start stop restart