设置具有多个 FTP 用户和 vsftpd 的 Apache

设置具有多个 FTP 用户和 vsftpd 的 Apache

我正在尝试使用单个用户“ftpuser”设置我的 Apache,以便能够共享/访问/var/www/html包含各种文件/子目录的目录。但是,当我通过 FTP 在“ftpuser”下登录时,所有内容都是空的,我无法上传任何内容。以下是我执行此操作的步骤:

使用 Apache 服务器设置 VSFTPD 权限

其中概述了以下步骤:

  1. 为 umask 0027 设置 vsftpd ( /etc/vsftpd.conf) [local_umask=0027]
  2. 创建 www 组 (groupadd www)
  3. 将用户添加到组(usermod -a -G www apache和 www ftpuser 相同的命令)
  4. 将 apache 设置为以 www 组身份运行(httpd.conf)
  5. chgrp www /var/www
  6. chmod 2775 /var/www

完成所有这些操作后,我重新启动了 Apache/vsftpd。但是,当我尝试通过 FTP 访问时,目录是空白的,如果我尝试创建文件,系统会提示“无法启动数据传输”。我猜想这是权限被拒绝的错误。

我还编辑了/etc/passwd文件并将主目录更改为/var/www/html。有人能解释一下问题是什么吗?谢谢。

编辑:

如果其他人也遇到此问题,则问题在于 selinux 已被禁用,但实际上并未禁用。它需要重新启动才能被禁用,并且不再锁定主目录。如果您想保持 selinux 处于启用状态,请使用以下命令:

setsebool -P ftp_home_dir on

希望这对某人有帮助。

答案1

这更有可能是“协议”或“防火墙”错误,而不是密码错误。您可能想尝试在主动和被动模式之间切换,同时看看如果您尝试从 FTP 服务器在“本地主机”上运行的框进行 FTP 会发生什么,以排除防火墙中的错误。

另外,虽然我不使用 VSFTP,但您几乎肯定会有一个日志文件。如果您找到日志文件,它应该会为您提供有关错误的更多信息(至少如果它是密码错误)

相关内容