授予对特定目录的 FTP 访问权限

授予对特定目录的 FTP 访问权限

我在本地网络上的一台机器上安装了 CentOS,并安装了 httpd、PHP、Webmin(和 UserMin)等。我选择了 ProFTPd 并为 FTP、Webmin 和 Apache 打开了端口。

我现在可以通过本地网络访问 Webmin 并查看默认的 apache 测试页面。我还可以以我创建的用户身份建立 sfpt 连接。但是我无法通过 FTP 将文件写入 /var/www/。

我需要做什么才能允许一个或多个用户访问相关目录?

答案1

虽然 LDJames 的回答(不再在这里)让我关注整个用户和组问题,但它并不完全有帮助。值得庆幸的是,这足以让谷歌参与其中。以下是我为解决问题所采取的步骤。

该文件夹由 root 拥有,这不适合向其中添加用户。解决方案是创建一个特殊的小组。我称其为“www”,因为我很有创造力。然后将 html 文件夹移动到该组。

<user>是我系统上用户的用户名

  1. su 到 root(或在每一行使用 sudo)
  2. groupadd www(建群)
  3. usermod -a -G www <user>(将用户添加到组中)
  4. 导航到 /var/www/
  5. chgrp www html(将文件夹设置为组)
  6. chmod g+rwx html(允许组访问文件夹 - 另请参阅http://ss64.com/bash/chmod.html这很有帮助)

结果我现在可以上传文件,并且如果我愿意的话,也可以让其他用户这样做。

  1. 在某些提示下,我还将 Apache 设置为作为 www 组运行。

这是通过设置环境变量来完成的(环境变量的确切位置根据 Linux 的风格而有所不同)。

尽管有其他答案,正确的方法是:

export APACHE_RUN_USER=www
export APACHE_RUN_GROUP=www

上面假设我还创建了一个名为 www 的用户,而因为这是我桌上的一个开发盒,所以我很高兴 Apache 现在以 root 身份运行。

通过以下方式找到了有关设置 apache 的用户和组的信息:apache 和 PHP 应该以什么用户身份运行? /var/www 文件应该有什么权限?

相关内容