您的位置:首页 > 运维架构 > Shell

ftp无法上传文件 无法列出目录 Entering Extended Passive Mode bash: setsebool: command not found

2013-07-29 20:42 966 查看
首先,需要在centos服务器上将vsftpd服务开启。

因为默认情况下,vsftpd服务是关闭的。

最简单的办法就是在图形界面下,通过services将vsftpd服务开启。

开启vsftpd服务之后,肯定会报错的。一般情形下,会报下面的这个错误。

意思是无法访问该用户的home目录。
SELinux is preventing the ftp daemon from reading users home directories(home).

或者在客户端使用ls列出目录时出现Entering Extended Passive Mode

解决方法:官方文档说明,

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服务器的方法:

1,启动命令

/etc/init.d/vsftpd start stop restart

./sbin/service
vsftpd start stop restart
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐