Como executar Script como outro usuario dentro de um Script no perfil de outro [RESOLVIDO]

1. Como executar Script como outro usuario dentro de um Script no perfil de outro [RESOLVIDO]

Thiago Boeira
tcboeira

(usa Debian)

Enviado em 26/04/2020 - 22:47h

Boa Noite amigos...

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!


  


2. Re: Como executar Script como outro usuario dentro de um Script no perfil de outro [RESOLVIDO]

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 27/04/2020 - 00:45h


tcboeira escreveu:

Boa Noite amigos...

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!

Boa noite tcboeira.
Pelo que entendi, se é que entendi . . .
O comando:
USUARIO01@PC-LOCAL-001:~$ echo 'senha_USR_SUPORTE' | su -c $HOME/teste.sh -s /bin/bash USR_SUPORTE
Loga o "USUARIO01", como "USR_SUPORTE", e a $HOME é a do USR_SUPORTE.
No script, onde tem "$HOME", troque pelo caminho completo
Ex:
/home/USUARIO01/.sqldeveloper/4.2.0/product.conf

______________________________________________________________________
Importante: echo -e "\n$(lynx --dump goo.gl/a9KeFc|sed -nr '/^[ ]+Se/,/dou.$/p')\n"
Att.: Marcelo Oliver
______________________________________________________________________


3. Re: Como executar Script como outro usuario dentro de um Script no perfil de outro [RESOLVIDO]

Thiago Boeira
tcboeira

(usa Debian)

Enviado em 13/05/2020 - 18:01h

Opa... Bem, desculpe pela demora...
NO fim, a resolução passou necessariamente pela atualização do SQL... Estava testando a 17 no Ubuntu 20....Atualizei para 19 e fiz algumas alterações nos arquivos de configuraçao e pronto. tudo funcionando

Muito obrigado pela ajuda!
De qq forma uso isso em outra solução!!!

Grande abraço!!!!







Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts