사용자 x는이 프로그램을 사용할 수 없습니다 (크론 탭)


9

우분투 14.04

서비스 (로그인 없음) 계정 ()에 대해 crontab을 설정할 때 나타나는 동작을 이해하지 못합니다 curator.

루트로 로그인하면 다음과 같은 결과가 나타납니다.

# crontab -u curator -l
The user curator cannot use this program (crontab)

그러나 사용자 계정으로 전환하면 정상적으로 작동합니다.

# su -s /bin/bash curator
curator@host$ crontab -l
no crontab for curator

/etc/cron.allow파일이 있고 /etc/cron.deny시스템에 파일이 없습니다 . 에 따르면 man crontab:

/etc/cron.allow 파일이 존재하면이 명령을 사용하려면 해당 파일을 한 줄에 한 명씩 나열해야합니다. /etc/cron.allow 파일이 존재하지 않지만 /etc/cron.deny 파일이 존재하면이 명령을 사용하기 위해 /etc/cron.deny 파일에 나열되지 않아야합니다.

첫 번째 명령을 실행할 crontab때 오류가 발생하지만 사용자 계정으로 명시 적으로 전환 할 때 오류가 발생하는 이유는 무엇입니까?

/etc/cron.allow두 명령이 모두 제대로 작동 하도록 사용자를 추가하십시오 .


1
그것은 단지 crontab이 없다고 말합니다. crontab -e사용자 큐레이터 를 통해 하나를 만들려고하면 어떻게 됩니까?
Fiximan

1
vagrant trusty64 이미지에서이 문제를 재현 할 수 없습니다. 빈과 cron.allow파일 모두 root crontab -u vagrant -lcrontab -l같은 vagrantA의 결과 are not allowed to use this program(당신이 인용 메시지는 다른) 메시지.
thrig

답변:


11

crontab 소스를 확인한 후 사용자가 /etc/cron.allow(예를 들어 이후에 chmod 0 /etc/cron.allow) 열 수 없으면 crontab은 사용자가 ( cron.allow존재하지 않는 것처럼) 사용할 수 있다고 생각합니다 .

그러나 루트는 모든 파일을 읽을 수 있으므로 crontab 검사 코드가 예상대로 작동합니다. 따라서에 대한 첫 번째 권한 /etc/cron.allow및 SELinux / AppArmor 감사 로그 를 확인하는 것이 좋습니다 .


이것은 chmod -r /etc/cron.allow실제로 보인다-나는 실제로 Ubuntu 14.04 시스템에서 설명 된 동작을 일으키는 것으로 확인되었다
steeldriver

에 딱 맞다! 내 /etc/cron.allow권한이었다 600로 변경 한 후, 644모두 rootcuratornot allowed to use this program (crontab)메시지를. 그런 다음 두 가지 curator/etc/cron.allow모두 추가 한 후 큐레이터의 crontab을 사용할 수 있습니다.
Adam Michalik
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.