크론 작업은 어떤 권한으로 실행될 때 무엇을 합니까?
나는 이것에 대해 잘 모르겠습니다. 이를 추가한 사용자와 동일한 권한이 있습니까 crontab -e
?
답변1
다음과 같이 시스템 crontab 항목에서 사용자를 지정할 수 있습니다.
# For details see man 4 crontabs
# Example of job definition:
.---------------- minute (0 - 59)
| .------------- hour (0 - 23)
| | .---------- day of month (1 - 31)
| | | .------- month (1 - 12) OR jan,feb,mar,apr ...
| | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
| | | | |
* * * * * user-name command to be executed
6번째 매개변수는 사용자 이름이 될 수 있습니다. 또한 /etc/cron.d
이 디렉터리에 스크립트를 배치할 수도 있습니다. 이러한 스크립트는 위의 crontab 항목과 동일한 형식을 취합니다. 예를 들면 다음과 같습니다.
# /etc/cron.d/clamav-update
## Adjust this line...
MAILTO=root
## It is ok to execute it as root; freshclam drops privileges and becomes
## user 'clamav' as soon as possible
0 */3 * * * root /usr/share/clamav/freshclam-sleep
다음 디렉터리에 스크립트를 넣을 수 있지만 루트로 실행해야 합니다.
- 일일 플래너
- 한 시간에 한 번
- 주간 계획
- 월간 요금제
마지막으로, 특정 사용자로 다음 명령을 실행하여 사용자 기반 crontab 항목을 생성할 수 있습니다.
$ crontab -e
이러한 항목은 이 디렉터리의 사용자와 동일한 이름을 가진 파일에 저장됩니다 /var/spool/cron/
.
$ sudo ls -l /var/spool/cron/
-rw------- 1 saml root 0 Jun 6 06:43 saml
답변2
예그러나 시스템 crontab(/etc/crontab 편집)에 수동으로 추가된 작업은 다른 사용자를 지정하지 않는 한 절대 권한(예: 루트 권한)으로 실행됩니다.