群组或其他用户可以访问 /root 吗?

群组或其他用户可以访问 /root 吗?

我在 Digital Ocean 的 Ubuntu 服务器上部署了一个 Web 应用程序,但它在 /root/appfolder 中运行。

我已经尝试过chmod 744 /root在 root 中对特定文件夹授予 744 权限,但我无法使用我的用户访问它。我想让其他开发人员能够通过 ssh 进入服务器并访问该文件夹。

也许我必须创建一个指向该文件夹的链接,以便每个用户都可以在其主目录中找到它?到目前为止,我不知道最安全或最佳的做法是什么,更不用说即使授予了该文件夹的读取权限,我仍然无法使用其他用户访问该文件夹。

解决方案

chmod 744 /root授予您读取权限,而不是打开(执行)权限。我只需重新定义权限即可chmod -R o+x /root

答案1

权限 744 (r-xr--r--) 错误。应该是 755 (rwxr-xr-x)。

使用 744,其他人可以看到目录中的内容,但如果目录中没有 x,他们就无法访问其中的任何内容。

答案2

请参阅 的文件系统层次结构标准https://refspecs.linuxfoundation.org/fhs.shtml

它解释了事情进展的去向。

答案3

唯一有权访问 /root 的用户是 root 本身或具有 sudo 访问权限的用户。更改 chmod 值并不是很好的做法。尤其是在根文件夹中。如果您希望除您自己之外的其他用户也拥有访问权限,您可以为用户设置 sudo 访问权限。

要将用户添加到 sudo 组,请以 root 或其他 sudo 用户身份运行以下命令。请务必将“用户名”更改为您要授予权限的用户的名称。

$ usermod -aG sudo username

只需将用户添加到 sudo 组,他们每次使用 sudo 命令时都需要输入密码。要禁用密码,请运行以下命令编辑 sudoer 文件:

$ sudo visudo

在打开的文件底部,为要授予无密码 sudo 权限的每个用户添加此行(确保更改“用户名”):

username  ALL=(ALL) NOPASSWD:ALL

或者,您也可以不使用单独的用户名,而是通过将用户名替换为组名来分配整个用户组。

答案4

/root其他用户组可以从命令行获得您文件夹的权限。但是,如果您从 更改了其他用户的权限Menu > Users & Groups > User 1 > Permissions Tab并删除了该root权限,则选定的用户将无法访问它。您现在已安全。

相关内容