Como adicionar uma variável de ambiente para todos os usuários (nologin e login shell) do debian

0

Como posso definir uma variável env para todos os usuários até mesmo os nologin ?

Especificamente, desejo definir uma variável env contendo um caminho que será usado no script de usuários e no servidor da Web (www-data que é um usuário do shell nologin e não pode se beneficiar do / etc / environment nem / etc do PAM / perfil e similares)

    
por Luca Ricci 16.05.2018 / 11:36

1 resposta

0

Supondo que você use o sistema init padrão:

link

DefaultEnvironment=

Sets manager environment variables passed to all executed processes. Takes a space-separated list of variable assignments. See environ(7) for details about environment variables.

Example:

DefaultEnvironment="VAR1=word1 word2" VAR2=word3 "VAR3=word 5 6"

Sets three variables "VAR1", "VAR2", "VAR3".

"todos os processos executados" significa todos os processos executados pelo systemd. Geralmente, todos os processos são iniciados por systemd ou filhos de um processo que foi. Mas por favor, tenha cuidado com isso, caso contrário você pode ter que recuperar seu sistema usando init=/bin/sh etc.: -).

É possível que alguns processos limpem suas variáveis de ambiente ou façam atribuições que os superem. Acho que o login do usuário (PAM?) Seria um exemplo importante aqui.

Como você disse, você pode cobrir todas as sessões do PAM usando pam_env / /etc/environment .

    
por 16.05.2018 / 14:29