특정 시간에 스크립트를 실행하기 위해 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
덮어쓸 가능성이 높습니다.