【问题标题】:How to grant a regular user shell access to a specific folder如何授予普通用户 shell 访问特定文件夹的权限
【发布时间】:2012-04-15 23:37:32
【问题描述】:

我需要授予另一个开发人员 SSH 读/写权限,以访问 Debian 机器上的 Web 根目录和 crontab。通常我是唯一登录的人,所以我使用 root 用户来登录。这个新用户没有被完全信任,所以我不能给他root访问权限。

到目前为止,我已经成功地将他创建为用户,使用:

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

我已经安装了他的公钥,以便他可以通过 SSH 登录。

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

我需要做什么?

更新:

我实际上想出了(我认为)如何去做。

  1. 修改了新用户组:

    usermod -g mySiteGroup 新用户

  2. 向网络根文件夹递归添加读/写权限

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

这似乎有效。如果我遗漏了任何重要的东西或留下了任何不安全的东西,请告诉我。谢谢 提前致谢

【问题讨论】:

  • 如果您解决了问题,请回答您自己的问题并接受它作为答案。

标签: linux permissions debian crontab


【解决方案1】:

虽然不是非常糟糕的设置,但我会这样做:

  • 创建一个组“dev”/“developers”
  • 将您自己和新用户都添加到其中(请注意,这样做我强烈反对经常使用 root 帐户)
  • chown 网络服务器根目录,使其归“开发者”组所有
  • 然后将其递归地 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 的文档,然后返回此处分享结果和进一步的问题。

【讨论】:

  • 您好,感谢您的回答,我暂时脱离了这项任务,但我希望尽快重新开始时能做出正确的回应。
猜你喜欢
  • 1970-01-01
  • 2016-12-20
  • 2018-06-17
  • 2014-02-18
  • 1970-01-01
  • 1970-01-01
  • 2012-07-23
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多