
msoliver
(usa Debian)
Enviado em 23/08/2022 - 21:52h
pauloh_alc escreveu:
Gostaria de pegar a senha do root utilizando o dialog e logo em seguida executar um comando que necessita da permissão do usuário root.
O comando seria o seguinte:
Step 1 - Pegar a senha através do dailog (estou conseguindo pegar a senha)
Step 2 - Executar a seguinte linha: echo "$password" | echo "$CRON_EXPRESSION" >> /var/spool/cron/crontabs/root
Porém estou com problemas, ao tentar canalizar a "password" no momento que eu executo os comandos presentes do lado direito do pipe "|", obtenho o seguinte
retorno:bash: /var/spool/cron/crontabs/root: Permission denied
Aparentemente a password não está sendo passada corretamente durante a canalização. Agora eu não se é porque estou utilizando esses dois echo(s) seguidos, ou se é por causa de outra coisa.
Adicional: o objetivo desse trecho de código (*) é o seguinte (adicionar uma expressão cron, já montada no final do arquivo /var/spool/cron/crontabs/root )
(*) echo "$CRON_EXPRESSION" >> /var/spool/cron/crontabs/root
Espero que esteja correto ou se existe uma forma mais interessante de fazer isso.
Boa noite pauloh_alc,
algumas observações:
01 - Essa "canalização":
echo "$password" | echo "$CRON_EXPRESSION"
Não funciona, teste no terminal....
02 - Aqui no Debian, a senha para o "sudo", é a do usuário, e não a do root.
03 - Já que tem a senha do root, log como tal e execute o script.....
------------------------------------------------------------------
Para funcionar:
OIFS="$IFS";
IFS=""; #Se não alterar, vai quebrar os espaços....
txt="Um texto qualquer, para testes";
echo "$senha"|sudo -S bash -c 'echo '$txt' >> arq_root.txt'
IFS="$OIFS"
Testado e funcionando...
______________________________________________________________________
Importante:
lynx --dump
https://www.vivaolinux.com.br/termos-de-uso/ | sed -nr '/^[ ]+Se/,/dou.$/p'
______________________________________________________________________
Nota de esclarecimento:
O comando:
ACIMA, faz parte da minha assinatura.
Att.: Marcelo Oliver
______________________________________________________________________