【问题标题】:Struggeling with vsftpd / apache2 on ubuntu 20.04在 ubuntu 20.04 上与 vsftpd / apache2 苦苦挣扎
【发布时间】:2021-01-04 14:49:53
【问题描述】:

我安装了 vsftpd 并让它与用户 ftpuser 一起运行。 /var/www 的所有者组设置为 ftpuser:ftpuser。我可以上传查看、编辑和删除文件,这很好。

但是网站不能做任何事情:例如无法通过 php 上传文件,无法运行安装程序和其他东西。 所以我将所有者更改为www-data:www-data。现在我可以通过 http 上传文件或更新我的 wordpress。 但我无法再通过 ftp 更改文件(550 创建目录操作失败)。

我已将ftpuser 添加到www-data 组,但仍然无法在服务器上执行任何操作。

我的 vsftpd.conf

listen=NO
listen_ipv6=YES
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
use_localtime=YES
xferlog_enable=YES
connect_from_port_20=YES
chroot_local_user=YES
secure_chroot_dir=/var/run/vsftpd/empty
pam_service_name=vsftpd
force_dot_files=YES
pasv_min_port=40000
pasv_max_port=50000
allow_writeable_chroot=YES

【问题讨论】:

    标签: apache2 chmod vsftpd


    【解决方案1】:

    2 个不同的进程(apache 和 vsftp)拥有/运行不同的用户和组:文件和目录具有用户所有权和组所有权,因此您需要配置适当的权限以让 apache 读取/写入/写入文件和目录归 vsftp 所有(反之亦然,具体取决于您配置权限和组的方式)。

    解决方案可能是:

    • 创建一个通用组,例如“web-manager”
    • 将文件夹“/var/www”的组更改为 web-manager (chgrp web-manager /var/www)
    • 允许 'web-manager' 组中的用户写入 '/var/www' 文件夹 (chmod 775 /var/www)
    • 将 apache 和 vsftp 放入组 'web-manager' (usermod -a -G web-manager www-data; usermod -a -G web-manager ftpuser)
    • 重启 apache 和 vsftp 守护进程

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-05-11
      • 2013-02-20
      • 2016-08-04
      • 1970-01-01
      • 2019-01-20
      • 1970-01-01
      • 2021-04-07
      相关资源
      最近更新 更多