如何授予对特定文件夹的常规用户shell访问权限

时间:2012-04-02 09:52:47

标签: linux permissions debian crontab

我需要授予另一个开发人员对Web根目录的SSH读/写访问权限以及Debian框中的crontab。通常我是唯一登录的人,因此我使用root用户来执行此操作。这个新用户不完全信任,所以我不能给他root权限。

到目前为止,我已成功使用以下方式创建用户:

useradd -m --shell=/bin/bash newUser

我安装了他的公钥,这样他就可以通过SSH登录了。

现在,我需要授予他对该服务器上运行的几个站点之一的Web根目录的读/写访问权限。他还需要能够编辑crontab。

我需要做什么?

更新:

我实际上已经完成了(我认为)如何做到这一点。

  1. 修改了newUser组:

    usermod -g mySiteGroup newUser

  2. 以递归方式向Web根文件夹添加读/写权限

    chmod -R g + rw / var / www / mySite

  3. 这似乎有效。如果我错过任何重要的事情或者保留任何不正确的安全信息,请告诉我。谢谢 提前致谢

1 个答案:

答案 0 :(得分:0)

虽然不是一个非常糟糕的设置,但这就是我要做的事情:

  • 创建一个组“dev”/“developers”
  • 将自己和新用户添加到其中(请注意,通过这样做,我强烈反对经常使用root帐户)
  • 选择Web服务器根目录以使其归“开发人员”组所有
  • 然后chmod它递归到775/770(这是你唯一的选择,作为服务器管理员,随你随意摆弄它)

这应该做得很好,现在对于crontab,这是摘自其手册页:

  

如果/etc/cron.allow文件存在,则必须列出您(一个用户   其中每行)以允许使用此命令。如果   /etc/cron.allow文件不存在,但/etc/cron.deny文件   不          存在,那么您不能在/etc/cron.deny文件中列出以使用此命令。

     

如果给出-u选项,则指定其用户的名称   crontab将被使用(列出时)或修改(编辑时)。如果   没有给出这个选项,crontab检查“你的”crontab,即   crontab中          执行命令的人请注意,su(8)可能会混淆crontab,如果你在su(8)内运行,你应该这样做   为安全起见,总是使用-u选项。

浏览crontab的文档,并返回此处分享结果和其他问题。