crontab 파일의 기본 PATH 값은 누구의 PATH 값입니까? [복사]

crontab 파일의 기본 PATH 값은 누구의 PATH 값입니까? [복사]

루트의 기본 PATH는 다음과 같습니다.

$ sudo su
# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games

/etc/cron.d/myjob 생성 후

35 * * * * tim ( date && echo $PATH && date ) > /tmp/cron.log 2>&1

/tmp/cron.log디스플레이 PATH의 기본값은 다음과 같습니다.

/usr/bin:/bin

crontab 파일의 기본 PATH 값이 root 값이 아닌가요? 왜?

누구의 PATH 값에 속합니까?

에 작업을 추가하거나 아래에 파일을 추가하면 /etc/crontab기본 PATH 값이 달라지나요 /etc/cronb.d/?

크론 작업에 어떤 사용자를 지정하는 것이 중요합니까? ( tim위의 예처럼)

감사해요.

답변1

cron이는 사용 중인 버전에 따라 다릅니다. 나는 당신이 데비안을 사용하고 있었던 것을 기억하는 것 같습니다. cron다음과 같이 많은 변수가 설정되었습니다.

여러 환경 변수가 시스템에 의해 자동으로 설정됩니다.cron(8)악마. SHELL로 설정되고 은( /bin/sh는) 소유자 행에서 설정 됩니다. 으로 설정되어 있습니다. , 및 는 작업을 실행하는 사용자이므로 변경할 수 없습니다.LOGNAMEHOME/etc/passwdcrontabPATH"/usr/bin:/bin"HOMESHELLPATHcrontabLOGNAME

(바라보다이것crontab자세한 내용은 매뉴얼 페이지를 참조하십시오. )

답변2

특정 구현에 대해 언급하지 않았으므로 cron원래 UNIX cron 구현에 대해 이야기하고 있다고 가정하겠습니다.

기본값 PATH( rootfor /usr/sbin:/usr/bin)과 루트가 아닌 사용자를 위한 기본값( for /usr/bin:)이 있습니다.

관련 값은 다음에 의해 재정의될 수 있습니다.

PATH=
SUPATH=

파일에 /etc/default/cron.

바라보다:https://sourceforge.net/p/schillix-on/schillix-on/ci/default/tree/usr/src/cmd/cron/

또한보십시오:http://schillix.sourceforge.net/man/man1m/cron.1m.html그리고http://schillix.sourceforge.net/man/man1/crontab.1.html

복제 구현을 참조하는 경우 원하는 구현을 언급해야 합니다.

관련 정보