Cujo valor PATH é o valor PATH padrão em um arquivo crontab? [duplicado]

1
O caminho padrão do

root é

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

Depois de criar /etc/cron.d/myjob

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

/tmp/cron.log mostra o valor padrão de PATH:

/usr/bin:/bin

O valor PATH padrão em um arquivo crontab não é o da raiz? Por quê?

De quem é o valor do PATH?

O valor padrão do PATH será diferente se eu adicionar o trabalho em /etc/crontab ou um arquivo em /etc/cronb.d/ ?

Importa qual usuário é especificado na tarefa cron? (como tim no exemplo acima)

Obrigado.

    
por Tim 30.10.2018 / 11:52

2 respostas

6

Isso depende da versão do cron que você está usando. Eu pareço lembrar que você usa o Debian; cron define um número de variáveis da seguinte forma:

Several environment variables are set up automatically by the cron(8) daemon. SHELL is set to /bin/sh, and LOGNAME and HOME are set from the /etc/passwd line of the crontab’s owner. PATH is set to "/usr/bin:/bin". HOME, SHELL, and PATH may be overridden by settings in the crontab; LOGNAME is the user that the job is running from, and may not be changed.

(Veja a página de manual crontab para detalhes.)

    
por 30.10.2018 / 12:00
3

Como você não menciona uma implementação cron específica, suponha que você esteja falando sobre a implementação original do cron do UNIX.

Há um PATH padrão para root (que é /usr/sbin:/usr/bin ) e outro para usuários não raiz (que é /usr/bin: ).

Os valores relacionados podem ser substituídos por entradas como:

PATH=
SUPATH=

no arquivo /etc/default/cron .

Veja: link

Veja também: link e link

Se você se refere a uma implementação de clone, você deve mencionar qual implementação você tem em mente ...

    
por 30.10.2018 / 12:29

Tags