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

时间:2014-04-01 14:36:05

标签: amazon-web-services amazon-ec2 permissions user-permissions

目前,我们正在开展的项目涉及自由职业前端开发人员。因为在我们寻找限制访问我们的服务器和文件的方法之前从未使用过他,但同时让他修改当前这些服务器上的视图文件。

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

e.g。

  • 迷你网站1 - 楷模 - 意见 - 控制器

  • 迷你网站2 - 楷模 - 意见 - 控制器

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

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

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

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

1 个答案:

答案 0 :(得分:1)

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

方法1:

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

从那里你会经历你希望他有权访问你的目录:chown -R 774 / var / www / dir / front-end / views /这将给root用户和程序员的所有用户组完整的R / W / X权限。如果你想对每个文件进行操作,你可以选择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