我在 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
权限,则选定的用户将无法访问它。您现在已安全。