2人のユーザーがいます:user1とuser2 user1が/ etc / cron.allowに追加されましたが、crontab
その-u
オプションを使用して実行すると、次の結果が表示されます。
user1@hostname:~$ crontab -l -u user2
must be privileged to use -
crontab -u
ユーザーにsudo権限を付与せずにこの権限をユーザーに付与できますか?
答え1
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
みんなユーザーにはこれらの権限があります。