[unix] 크론 작업의 런타임 권한은 무엇입니까?

크론 작업이 어떤 권한으로 실행될 때 실행됩니까?

나는 그것에 대해 확실하지 않다. 를 통해 추가 한 사용자와 동일한 권한을 가지고 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)은 절대 권한으로 실행됩니다 (예 : 루트로 실행).


답변