如何限制用户 SSH 访问某些文件夹

2024-01-18

目前,我们正在进行的项目有一名自由前端开发人员参与。由于我们以前从未使用过他,因此我们正在寻找一种方法来限制他对我们的服务器和文件的访问,但同时让他修改这些服务器上当前的视图文件。

当前项目(全部在一台服务器上)被划分为 6 个独立的迷你站点,全部使用 MVC 结构。

e.g.

  • 迷你场地1 - 楷模 -- 观点 -- 控制器

  • 迷你场地2 - 楷模 -- 观点 -- 控制器

etc

我们需要限制他对每个项目的每个视图文件夹的访问,但没有其他限制。

我们正在使用 Amazon EC2 并使用具有有限 IP 范围的安全组。我们无法允许他使用 FTP,因为这会给我们带来更多潜在问题。

我们还查看了文件和组权限,但仅此服务器上就有数千个文件。

关于如何以尽可能少的足迹实现这一点的任何想法,这样一旦他离开,我们就可以删除他的访问权限并恢复设置等?


你可以使用 chmod。我假设你的普通用户可以随意 sudo 和修改文件?或者他们是以团体为基础的?您可以选择以下两种方法。

方法一:

如果您的普通员工/用户可以使用 sudo,您可以 chown 所有文件夹,以便它们由 root 和一个名为程序员的新组拥有,方法是执行 chown -R root:programmers /var/www/dir/ 这将使 dir 和所有内容都在它由 root 和组程序员拥有。然后你会做 chown -R 744 /var/www/dir/ 。这将使 root 用户对 dir 及其中的所有文件夹具有 R/W/X 权限(即 7),程序员组中的用户将具有只读权限(4),所有其他用户将具有只读权限(即 4)。具有只读权限(最后 4 个)。

从那里您将浏览您希望他有权访问的目录: chown -R 774 /var/www/dir/front-end/views/ 这将为 root 和程序员组中的所有用户提供完整的 R /W/X 权限。如果您想按文件执行此操作,可以执行 chown 774 /var/www/dir/front-end/views/index.html

对于所有其他用户,如果他们想要修改文件(假设他们正在使用 vim),他们需要执行 sudo vim /var/www/dir/front-end/views/index.html 。这将让他们假装是 root 并能够进行编辑,而不管其他权限如何(即三位数八进制中的最后 4 个)。

方法2

如果它们是基于组的,您可以使所有文件归 root 和组员工所有(假设普通用户位于该组中)。然后,对于您希望他编辑的文件(假设他的用户名是 frontdev),您可以执行 chown -R frontdev:employees /var/www/dir/front-end/views/ ,然后将该目录 chmod 到 774。 ..您可以对单个文件执行相同的操作。这样,员工组中的所有员工(包括您)都将拥有完整的权限。 root 将对所有文件和目录拥有权限...然后您可以将他的用户分配为一次性用户,以控制您需要他访问的文件/目录。

您还可以考虑将用户限制在仅授权的目录中。 Jailkit 是一个很大的东西。这是一个很好的教程:https://askubuntu.com/questions/93411/simple-easy-way-to-jail-users https://askubuntu.com/questions/93411/simple-easy-way-to-jail-users

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何限制用户 SSH 访问某些文件夹 的相关文章

随机推荐