Sudo
允許非 root 使用者使用 ‘crontab -l -u’
我有兩個使用者:user1 和 user2 user1 添加到 /etc/cron.allow 但是當我
crontab
使用該-u
選項執行時,我得到:user1@hostname:~$ crontab -l -u user2 must be privileged to use -
是否可以在不授予
crontab -u
使用者 sudo 權限的情況下授予使用者此權限?
您可以
sudo
僅授予對該特定命令的訪問權限。例如,以下規則…testuser1 ALL=(ALL) NOPASSWD: /usr/bin/crontab -l -u *
會讓
testuser
跑crontab -l -u <someuser>
。例如,這些都有效:[testuser1@fedora ~]$ sudo crontab -l -u testuser1 no crontab for testuser1 [testuser1@fedora ~]$ sudo crontab -l -u testuser2 no crontab for testuser2 [testuser1@fedora ~]$ sudo crontab -l -u root no crontab for root
但其他命令失敗:
[testuser1@fedora ~]$ sudo crontab -l [sudo] password for testuser1: Sorry, user testuser1 is not allowed to execute '/usr/bin/crontab -l' as root on fedora. [testuser1@fedora ~]$ sudo date [sudo] password for testuser1: Sorry, user testuser1 is not allowed to execute '/usr/bin/date' as root on fedora.
等等。
要將這些權限授予多個使用者,請考慮創建一個組(例如,
cronpeople
),然後在您的 sudoers 配置中使用它:%cronpeople ALL=(ALL) NOPASSWD: /usr/bin/crontab -l -u *
如果您希望所有使用者都擁有這些權限,您可以替換
%cronpeople
為。ALL