在托管一个网站的专用服务器上,运行没有控制面板的 Linux,我尝试授予多个用户编辑公共 HTML 文件夹 (/var/www/html/) 的权限。
我想确保以最佳方式执行此操作,我想如果我通过 CHMOD 松散地设置权限,它将允许任何可以通过 FTP 访问该文件夹的人更改它。解决方案是设置一个 wheel 组,将目标用户添加到 wheel 组,然后为 wheel 组设置权限吗?
目前,只有一个用户可以编辑公共 HTML。
答案1
您的解决方案与我推荐的解决方案非常接近,但为什么您特别提到了该wheel
组?在许多发行版中,该组wheel
对命令具有完全访问权限sudo
,从而授予对系统的完全 root 访问权限。
假设您创建了一个名为的新组webadmins
:
groupadd webadmins
然后您需要设置适当的权限以允许您webadmins
进行更改:
chown root:webadmins /var/www/html -R
-R 将设置所有现有文件的权限。一个常见的问题是,如果joe
在 /var/www/html 中创建一个文件,它将默认归 的默认组所有joe
并分组到joe
的默认组中。我们可以通过在父目录上设置 SETGID 位来解决这个问题,这样新文件将webadmins
默认分组到:
chmod g+s /var/www/html
最后一个问题是您的 Web 服务器也需要访问这些文件。我个人不喜欢在 /var/www/html 上保留全局读取权限,因为有人可能会将 .php 脚本放在其中,因此我将目录设置为 770:
chmod 770 /var/www/html
然后我将 apache 用户(www-data
通常在 RedHat 系统上)添加到webadmins
组中:
usermod -aG webadmins www-data
希望有帮助!