Crontab 组权限

Crontab 组权限

我注意到在我的 debian 机器上 crontab 用户对 /var/spool/cron/crontabs 目录没有读取权限。

drwx-wx--T 2 root crontab 4096 Jun 20 21:34 crontabs

此外,实际的 crontab 文件仅具有其所属用户的读/写权限。

我有两个问题。

  1. 有什么原因导致用户 crontab 没有对 crontabs 目录的读取权限?
  2. 授予该用户对各个 crontab 文件的读取权限是不是一个坏主意?

我之所以提出这些问题,是因为我有几位开发人员需要编辑每个 crontab 的权限。理想情况下,我希望将它们全部放在 svn 或类似程序中,这样我们就可以在发布之前查看更改,然后再使用某种形式的部署脚本。svn 和部署没有问题,但我正在寻找一个无需 root 身份即可编辑所有 crontab 的普通用户。

答案1

唯一的原因是安全。这是 SGID 位的一个相当流行的用例。

那边有一个组“crontab”。这个组是空的,所以没有成员。组“crontab”有一个非常特殊的用途。crontab 二进制文件归“crontab”组所有,并有一个 SGID(设置组 ID)位

# ls -l /usr/bin/crontab
-rwxr-sr-x 1 root crontab 34784 Jun 14  2012 /usr/bin/crontab

因此,设置了 SGID 位的文件(crontab 命令)将被视为属于该组,而不是仅属于该用户。只要文件是在具有 SGID 的目录中创建的(crontab 用户的文件),它也会继承其组。

1)用户只能在 crontab 命令中编辑或读取其 crontab 文件

2)用户没有权限读取 /var/spool/cron/crontabs 中的任何列表文件

相关内容