루트가 아닌 사용자가 "crontab -l -u"를 사용하도록 허용

루트가 아닌 사용자가 "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 권한을 부여하지 않고 이 권한을 사용자에게 부여 할 수 있습니까 ?

답변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모두사용자에게는 이러한 권한이 있습니다.

관련 정보