Passando variáveis de ambiente via sudo no solaris 10

1

Eu preciso executar um comando via sudo no Solaris 10 e preciso passar duas variáveis de ambiente para o comando. Isso deve ser feito em /bin/sh , não bash , não ksh .

Isso é possível no Linux, existem opções de servidor, mas elas não funcionam no solaris, já que o solaris ' sudo não suporta a opção -E que temos no Linux. Instalar uma versão mais moderna do sudo também não é uma opção.

A única solução que consigo pensar é colocar o comando junto com as variáveis em um script, como

#!/bin/sh
a=foo
b=bar
export a
export b
my_command 

execute esse script via sudo. No entanto, esse tipo de segurança evita, já que agora preciso permitir esse script via sudo, o que é uma prática ruim, já que o script pode ser editado, por isso não posso controlar o que realmente estou concedendo.

Alguma idéia?

EDIT: As variáveis que eu queria passar são LD_PRELOAD LD_LIBRARY_PATH. Como o comando via sudo foi executado em um chroot de finalidade única, consegui copiar as bibliotecas referenciadas pelas variáveis para locais padrão, sobrescrevendo algumas bibliotecas de "sistema". Por favor note que isso não é uma boa prática em geral (eu recomendaria strongmente contra ele), no entanto, neste caso - chroot propósito único - eu achei que fosse uma solução pragmática.

    
por Isaac 17.08.2018 / 17:52

0 respostas