크론 작업이 어떤 권한으로 실행될 때 실행됩니까?
나는 그것에 대해 확실하지 않다. 를 통해 추가 한 사용자와 동일한 권한을 가지고 crontab -e
있습니까?
답변
다음과 같이 시스템 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
여섯 번째 인수는 사용자 이름이 될 수 있습니다. 또한 /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
이 디렉토리에 스크립트를 넣을 수 있지만 루트로 실행되도록되어 있습니다.
- cron.daily
- cron. 시간당
- 매주 cron.
- cron. 매월
마지막으로 지정된 사용자로이 명령을 실행하여 사용자 기반 crontab 항목을 작성할 수 있습니다.
$ crontab -e
이러한 항목은이 디렉토리의 사용자와 동일한 이름으로 파일에 저장됩니다 /var/spool/cron/
.
$ sudo ls -l /var/spool/cron/
-rw------- 1 saml root 0 Jun 6 06:43 saml
답변
예 , 그러나 다른 사용자를 지정하지 않으면 시스템 crontab에 수동으로 추가 된 작업 (edit / etc / crontab)은 절대 권한으로 실행됩니다 (예 : 루트로 실행).