크론 작업에 대한 런타임 권한은 무엇입니까?

크론 작업에 대한 런타임 권한은 무엇입니까?

크론 작업은 어떤 권한으로 실행될 때 무엇을 합니까?

나는 이것에 대해 잘 모르겠습니다. 이를 추가한 사용자와 동일한 권한이 있습니까 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 편집)에 수동으로 추가된 작업은 다른 사용자를 지정하지 않는 한 절대 권한(예: 루트 권한)으로 실행됩니다.

관련 정보