/etc/cron.daily/에 스크립트를 추가하는 것과 crontab(-e)에서 편집하는 것의 차이점은 무엇입니까?

/etc/cron.daily/에 스크립트를 추가하는 것과 crontab(-e)에서 편집하는 것의 차이점은 무엇입니까?

특정 시간에 스크립트를 실행하기 위해 cron을 사용하는 등 다양한 옵션이 있지만, 어느 것이 다른 것보다 안전합니까?

내 질문은 간단합니다.

/etc/cron.daily/에서 스크립트를 추가하는 것과 에서 스크립트를 편집하는 것의 차이점은 무엇입니까 crontab(-e)?

내 우려는 다른 사용자가 콘텐츠를 볼 수 있다는 것입니다. /etc/cron.daily/사용자의 crontab 에 있든 없든 루트 외에는 누구도 crontab을 볼 수 없도록 하고 싶습니다 .

/etc/cron.daily/crontab에서 사용할 수 있는 내용을 다른 사용자가 볼 수 있습니까 crontab -l?

나는 항상 특정 서버에 루트로 로그인합니다. cron 작업을 구현할 때 정보에 입각한 선택을 할 수 있도록 cron이 누구/무엇/언제인지 알아야 합니다.

CentOS 6.6을 사용하고 있습니다.

답변1

기본적으로 시스템 전체 스크립트 /etc/cron*는 누구나 읽을 수 있습니다. 예를 들어, 내 아치에서:

$ ls -ld /etc/cron*
drwxr-xr-x 2 root root 4096 May 31  2015 /etc/cron.d
drwxr-xr-x 2 root root 4096 May 31  2015 /etc/cron.daily
-rw-r--r-- 1 root root   74 May 31  2015 /etc/cron.deny
drwxr-xr-x 2 root root 4096 May 31  2015 /etc/cron.hourly
drwxr-xr-x 2 root root 4096 May 31  2015 /etc/cron.monthly
drwxr-xr-x 2 root root 4096 May 31  2015 /etc/cron.weekly

그리고:

$ ls -l /etc/cron.d/0hourly 
-rw-r--r-- 1 root root 128 May 31  2015 /etc/cron.d/0hourly

기본적으로 사용자별 cron 파일이 있으며 /var/spool/cron적어도 내 시스템에서는 읽을 수 없습니다.

$ ls -l /var/spool/cron/
total 8
-rw------- 1 root   root   20 Feb 23 16:34 root
-rw------- 1 terdon terdon 22 Feb 23 16:32 terdon

crontab -e따라서 "가장 안전한" 방법은 일반 사용자가 읽을 수 없는 사용자의 crontab을 사용하는 것입니다 .

$ cat /var/spool/cron/root 
cat: /var/spool/cron/root: Permission denied

먼저 CentOS에서도 이러한 현상이 발생하는지 확인해 보시기 바랍니다. 하지만 지금은 CentOS 시스템에 액세스할 수 없습니다.

답변2

/etc/cron.daily/모든 사용자에 대해 cronjob을 실행할 수 있도록 사용자(첫 번째 필드)가 있습니다 . AFAIK 그것이 유일한 차이점입니다.

/etc/cron.daily/백업 및 배포 이점이 있습니다 . /var/spool/cron/crontabs/(사용된 파일을 cronttab -e덮어쓸 가능성이 높습니다.

관련 정보