크론 작업에 대한 파일 시스템 권한은 무엇입니까?

크론 작업에 대한 파일 시스템 권한은 무엇입니까?

저는 프로덕션 서버에서 일하고 있습니다. 일일 크론 작업이 있으며 파일 시스템 권한은 다음과 같습니다.

cron.daily$ ls -Al
total 24
-rwxr-xr-x 1 root root  332 Dec  3 10:33 0yum-daily.cron
-rwxr-xr-x 1 root root 2239 Jun  9  2014 certwatch
-rwxr-x--- 1 root root  953 Aug 29  2015 gdrive-backup
-rwx------ 1 root root  180 Jul 31  2013 logrotate
-rw-r--r-- 1 root root  618 Mar 17  2014 man-db.cron
-rw-r----- 1 root root  192 Jan 26  2014 mlocate

하나의 작업을 제외한 모든 작업은 CentOS 또는 호스팅 제공업체에서 제공합니다. 단 하나의 작업은 우리 작업입니다. 이러한 당국은 범위를 확장했습니다.

우리의 임무는 사용자 이름과 비밀번호가 하드코딩된 gdrive-backup입니다. 우리는 세상에 읽기 액세스 권한을 제공하는 것이 적절하지 않다고 생각합니다.

크론 작업이 파일 시스템에 있을 때 어떤 권한을 가져야 합니까?


이것은 특별한 일이 일어나지 않음을 나타내는 crontab 고양이입니다.

$ cat /etc/crontab 
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin

# 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

$

관련 질문은크론 작업에 대한 런타임 권한은 무엇입니까?, 그러나 파일 시스템 권한이 아닌 작업 실행 시 사용자 자격 증명에 대해 설명합니다.

답변1

CentOS에서는 일일 크론 작업이 다음과 같이 실행됩니다.

/usr/bin/run-parts /etc/cron.daily

run-parts는 쉘 스크립트입니다. 인수(디렉토리)의 내용을 살펴보고, , 및 디렉토리로 끝나는 파일을 필터링한 다음 ~테스트 를 통과한 (즉, 루트에서 실행할 수 있는) 각 파일에 대해 파일을 실행합니다..swp.rpmsaveif [ -x $i ]

/etc/cron.daily따라서 비트가 열려 있는 모든 파일이 x실행됩니다. 원하는 경우 모든 사람의 읽기 액세스를 거부하도록 이러한 파일에 대한 권한을 설정할 수 있습니다. 명령에 대한 인수로 전달될 수 있는 스크립트에 암호를 포함하는 경우 모든 /proc/*/cmdline파일을 공개적으로 읽을 수 있으므로 런타임에 모든 사용자가 모든 명령과 인수를 볼 수 있다는 점 에 유의하십시오 .

관련 정보