Bem, mais uma no jogo novamente para analise e ajuda...
O programa em questão é o SQL DEVELOPER, o arquivo é o product.conf e a entrada a ser consultada é SetSkipJ2SDKCheck true
O USUARIO01 ... Ele vai acessar um programa. Esse programa verificar se uma configuração é real em um arquivo. Se OK, ele inicia... Se não ele recusa...
A ideia é que o quando o USUARIO01 for executar o programa, verifique se há essa configuração. Caso negativo, ele deve escrever no arquivo de configuração. Algo como o abaixo:
#!/bin/bash
SETSQL01=$(head -n 1 $HOME/.sqldeveloper/4.2.0/product.conf)
if [ "$SETSQL01" = "SetSkipJ2SDKCheck true" ]; then
echo "Segue o jogo"
else
sed -i '1 iSetSkipJ2SDKCheck true' $HOME/.sqldeveloper/4.2.0/product.conf
echo $SETSQL01
fi
Até ai beleza.
O processo - de verificar e escrever no arquivo caso for preciso - deveria ser automatico e transparente.
Os "users" das estações são usuarios como "administrador". No sudoers está configurado como abaixo
# User privilege specification
root ALL=(ALL:ALL) ALL
usuario-rede ALL=(ALL:ALL) ALL
Bem, meio que perdi os cabelos...
Na ultima vez, tentei mudar o atalho para ele fizesse o seguinte:
Ao chamar o programa, ele antes do script mostrado acima, e ele chama a seguinte linha:
USUARIO01@PC-LOCAL-001:~$ echo 'senha_USR_SUPORTE' | su -c $HOME/teste.sh -s /bin/bash USR_SUPORTE
Ocorre que o retorno é de não localização do arquivo. Isso pq ele ele busca no HOME de USR_SUPORTE e não no de USUARIO01 como deveria ser.
Hehehehehe, a pergunta simples é:
Por que?
Muito Obrigado pela explicação, pela ajuda ...
Um grande abraço!