500 OOPS: cannot change directory:/home/xxx”


参考 http://hi.baidu.com/jenrald/item/b8921b82b5ade72a100ef3c0

一 前言 

          用ftp命令连接 ftp服务器时提示:

    “500 OOPS: cannot change directory:/home/xxx”

二解决方案

        百度,经证实有效解决方案是 # setsebool  ftp_home_dir  on

     现将参考网页内容摘抄如下:


今天在 CentOS 上测试 FTP 服务器验证登录,提示500 OOPS: cannot change directory:/home/xxx,不能切换到用户宿主目录?一看到与宿主目录有关,第一反应就是会不会又跟 SELinux 中的策略有关,因为之前测试 Samba 实现“允许用户通过 Windows 客户端访问自己的宿主目录”,就需要先执行 setsebool  -P  samba_enable_home_dirs  on,而且用 getsebool  -a | grep  ftp 也看到了一个“ftp_home_dir --> off”。不过还是先百度了一下,继而在终端下执行:

  # setsebool  ftpd_disable_trans  1
  # service  vsftpd  restart       

  结果刚执行完第一条就提示Could not change active booleans: Invalid boolean,又是没见过的提示,baidu~,果然与那个ftp_home_dir有关,执行:

  # setsebool  ftp_home_dir  on(注:在服务 running 状态下执行时间会比较久)

  then~

  # ftp  192.168.2.2
  Connected to 192.168.2.2 (192.168.2.2).
  220 (vsFTPd 2.2.2)
  Name (192.168.2.2:root): azune
  331 Please specify the password.
  Password:
  230 Login successful.
  Remote system type is UNIX.
  Using binary mode to transfer files.
  ftp> ls
  227 Entering Passive Mode (192,168,2,2,54,76).
  150 Here comes the directory listing.
  drwxr-xr-x    2 500      500          4096 Sep 18 10:27 Desktop
  drwxr-xr-x    2 500      500          4096 Sep 18 10:27 Documents
  drwxr-xr-x    2 500      500          4096 Sep 18 10:27 Downloads
  drwxr-xr-x    2 500      500          4096 Sep 18 10:27 Music
  drwxr-xr-x    2 500      500          4096 Sep 18 10:27 Pictures
  drwxr-xr-x    2 500      500          4096 Sep 18 10:27 Public
  drwxr-xr-x    2 500      500          4096 Sep 18 10:27 Templates
  drwxr-xr-x    2 500      500          4096 Sep 18 10:27 Videos
  226 Directory send OK.
  ftp> exit
  221 Goodbye.

  至于 ftp 登录时提示-bash: ftp: command not found的话,是缺少 ftp 客户端的包,安装上就好了。



 
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 这个错误提示说明用户在连接vsftpd时无法更改到指定的目录/home/。这可能是由于以下原因之一导致的: 1. 目录不存在:请确认目录/home/是否存在。如果不存在,请创建该目录并确保它可以被FTP用户访问。您可以使用以下命令创建该目录: ``` sudo mkdir /home ``` 2. 权限问题:请确保FTP用户具有访问目录的权限。您可以使用以下命令更改目录的权限: ``` sudo chmod 755 /home ``` 3. SELinux或AppArmor:如果您的系统上启用了SELinux或AppArmor,它们可能会阻止FTP用户访问/home目录。您可以尝试禁用SELinux或AppArmor来解决此问题。 对于SELinux,您可以使用以下命令禁用它: ``` sudo setenforce 0 ``` 对于AppArmor,您可以使用以下命令禁用它: ``` sudo systemctl stop apparmor ``` 请注意,在禁用SELinux或AppArmor之前,请确保您已经了解了其安全影响,并在必要时采取适当的措施。 ### 回答2: 这个错误是由于vsftpd服务器无法切换到指定目录"/home/"所导致的。原因可能有以下几点: 1. 目录不存在:请确保"/home/"目录确实存在于系统中。可以通过在终端中运行命令`ls /home/`来检查目录是否存在。 2. 权限问题:vsftpd服务器可能没有足够的权限来访问"/home/"目录。这可能是由于目录的权限设置不正确造成的。可以通过运行命令`ls -l /home/`来检查目录的权限设置。确保vsftpd服务器有足够的权限来访问该目录。 3. SELinux限制:如果您的系统启用了SELinux安全机制,并且SELinux策略不允许vsftpd服务器访问"/home/"目录,那么也会导致此错误。您可以通过禁用SELinux或者调整SELinux策略来解决此问题。 4. vsftpd配置错误:请确保vsftpd服务器的配置文件正确设置了"/home/"作为默认目录。您可以编辑vsftpd的配置文件(通常位于/etc/vsftpd.conf),将"local_root=/home/"添加或修改为正确的路径。 无论哪种情况,都建议检查系统日志以查看更详细的错误信息。通常,vsftpd服务器的错误日志位于"/var/log/vsftpd.log"。您可以使用命令`tail -f /var/log/vsftpd.log`来监视日志文件的实时更新,并获取更多关于错误发生的详细信息。 总之,要解决vsftpd服务器报错"500 OOPS: cannot change directory:/home/",您需要确保目录存在、权限设置正确、SELinux策略允许访问,并检查vsftpd的配置文件中的默认目录设置。 ### 回答3: 当出现"vsftpd 500 OOPS: cannot change directory:/home/"错误时,这通常意味着FTP用户的目录设置有问题。 vsftpd 是一款高度可靠且安全的FTP服务器软件,可在Linux系统中使用。错误信息中的"/home/"是指FTP用户的默认根目录。出现问题的原因有以下几种可能性: 1. 权限设置不正确:确保FTP用户(如vsftpd)具有适当的权限来访问"/home/"目录。可以通过使用chown和chmod命令进行设置。例如,确保FTP用户(vsftpd)是目录的所有者,并具有适当的访问权限。 2. SELinux或AppArmor问题:某些Linux发行版可能使用SELinux或AppArmor等安全模块,这些模块可以限制FTP服务器访问用户的目录。需要检查SELinux或AppArmor配置,确保FTP用户被允许访问"/home/"目录。 3. 目录不存在:确保"/home/"目录实际存在,并且拥有适当的权限。 4. 软件配置错误:检查vsftpd的配置文件,通常位于"/etc/vsftpd.conf"。确保配置文件正确设置了FTP用户的根目录,并且没有其他配置错误导致无法访问目录。 综上所述,当出现"vsftpd 500 OOPS: cannot change directory:/home/"错误时,需要检查并修复上述可能导致问题的原因。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值