ske*_*rit 10 linux permissions cron
作为普通用户,我无法编辑我的 cron 设置。我得到了所有内容的“权限被拒绝”:列出 cron 命令或编辑它们。
例子:
cron -l
cron: can't open or create /var/run/crond.pid: Permission denied
crontab -e
/var/spool/cron/crontabs/skerit: Permission denied
Run Code Online (Sandbox Code Playgroud)
这些是 /var/run/crond.pid 的权限:
-rwxr-Sr-- 1 root root 5 2011-05-27 12:44 crond.pid
---------- 1 root root 0 2011-03-23 21:13 crond.reboot
Run Code Online (Sandbox Code Playgroud)
以及 /var/spool/cron/ 的权限:
drwxr-sr-x 5 root root 4,0K 2009-12-23 23:01 cron
Run Code Online (Sandbox Code Playgroud)
所有用户也被添加到 /etc/groups 文件中:
crontab:x:102:skerit,www-data
Run Code Online (Sandbox Code Playgroud)
这是一个混乱的问题。
我最终将所有用户添加到 crontab 组,并将所有需要的文件的组所有权设置到该 crontab 组。
很多权限都被搞乱了。将组所有权更改为其他内容首先会“重置”这些权限。
crontab 可执行文件:
sudo chgrp crontab /usr/bin/crontab
sudo chmod g+s /usr/bin/crontab
结果:-rwxrwsr-x 1 root crontab 37K 2010-04-15 08:51 /usr/bin/crontab
cron 假脱机文件:
sudo chmod 4774 -R /var/spool/cron
结果:drwsrwsr-- 5 root crontab 4,0K 2009-12-23 23:01 cron
这些假脱机目录中的 cron 文件只需读写。不然他们就不会跑。
sudo chmod 600 /var/spool/cron/crontabs/*
cron pid 文件:
sudo chmod 744 /var/run/crond.pid
我认为这应该涵盖它。