Olhando primeiro para o 500 500 , se você restaurar de um arquivo tar (entre outros), o proprietário e o grupo serão preservados do sistema em que o arquivo foi criado: Suponho que o instalador faça isso, e se o usuário ou grupo restaurado não existir em seu sistema, o valor numérico será exibido.
Olhando agora para o PATH , eu reproduzi isso no Ubuntu, e parece que sudo modifica PATH : no seu comando sudo echo $PATH a variável PATH foi expandida no shell original antes de chamar% código%. Existe um arquivo sudo com uma entrada /etc/sudoers , e isso parece ser o que é usado.
Se você usar "defaults secure_path="..." , terá uma ideia melhor do sudo sh -c 'echo $PATH' que está sendo usado. Observe que usei deliberadamente PATH em vez de sh para ignorar alguns dos arquivos de inicialização, o que pode mudar as coisas, embora bash tenha, claro, alguns dos seus próprios.
No Ubuntu, a linha sh contém secure_path , mas o CentOS pode ser diferente (ambos são derivados do Debian, mas de acordo com /user/local/bin o SELinux pode sobrescrever algumas entradas). Tanto quanto eu posso ver, você tem pelo menos quatro opções: -
- Modifique
man sudoerspara incluir '/ usr / local / bin'. - Coloque o link em um dos diretórios definidos em
secure_path. - Use
secure_pathem vez desu -c "{command} {parameters}". - Use
sudo {command} {parameters}para obter uma raizsudo -scom a mesma inicialização debashdo shell original e, em seguida, chame seu executável de lá e saia depois.
Também encontrei muitas discussões e outras possíveis soluções aqui .