Shell Script

1. Shell Script

Otávio Siqueira
FR34AK

(usa Deepin)

Enviado em 15/03/2019 - 23:48h

Saudações!!

Seguinte, sou bem leigo em Shell Script e queria saber como faz para autenticar o usuário root nesse programa:

#!/bin/bash

echo "-------------------------"
echo "Iniciando o Eclipse..."
echo "-------------------------"

echo "Informe sua senha de ROOT:"
su
#Aqui deveria informar a senha sem que o usuário tivesse que a inserir.
cd /root/eclipse/java-2018-12/eclipse
./eclipse


Obrigado!


  


2. Re: Shell Script

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 16/03/2019 - 17:47h

FR34AK escreveu:

Saudações!!

Seguinte, sou bem leigo em Shell Script e queria saber como faz para autenticar o usuário root nesse programa:

#!/bin/bash

echo "-------------------------"
echo "Iniciando o Eclipse..."
echo "-------------------------"

echo "Informe sua senha de ROOT:"
su
#Aqui deveria informar a senha sem que o usuário tivesse que a inserir.
cd /root/eclipse/java-2018-12/eclipse
./eclipse


Obrigado!

Boa tarde FR34AK .
Se:
su
#Aqui deveria informar a senha sem que o usuário tivesse que a inserir.

Se Fosse possível, toda a segurança estaria quebrada....
use o comando sudo:
Ex:
sudo nomedoscript

Att.: Marcelo Oliver


3. Re: Shell Script

Mauriciodez
Mauriciodez

(usa Debian)

Enviado em 17/03/2019 - 12:49h

da para fzer assim

senha="sua-senha"
echo $senha | sudo -S comando



------------------------------------------------------| Linux User #621728 |------------------------------------------------------

" Nem sempre é amigo aquele que te tira do buraco !!! ( Saddam Hussein )"

------------------------------------------------------| Linux User #621728 |------------------------------------------------------




4. Re: Shell Script

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 17/03/2019 - 13:58h


Mauriciodez escreveu:

da para fzer assim

senha="sua-senha"
echo $senha | sudo -S comando



------------------------------------------------------| Linux User #621728 |------------------------------------------------------

" Nem sempre é amigo aquele que te tira do buraco !!! ( Saddam Hussein )"

------------------------------------------------------| Linux User #621728 |------------------------------------------------------


Estranho esse seu comando Mauricio....
Sempre utilizo o "sudo", e não é necessário informar a senha . . . .

Att.: Marcelo Oliver


5. Re: Shell Script

Mauriciodez
Mauriciodez

(usa Debian)

Enviado em 17/03/2019 - 14:33h


msoliver escreveu:
Estranho esse seu comando Mauricio....
Sempre utilizo o "sudo", e não é necessário informar a senha . . . .


como assim não é necessário infomar a senha ??? só não pede senha no sudo depois da primeira vez que ela é inserida e na mesma seção 1!!


------------------------------------------------------| Linux User #621728 |------------------------------------------------------

" Nem sempre é amigo aquele que te tira do buraco !!! ( Saddam Hussein )"

------------------------------------------------------| Linux User #621728 |------------------------------------------------------




6. Re: Shell Script

Cézar Augusto
cizordj

(usa Debian)

Enviado em 17/03/2019 - 16:36h

Nunca coloque sua senha de root no shell script. Em vez disso coloque uma checagem no começo do script:
if [ "$(id -u)" != "0" ]; then
echo "Este script deve ser executado como root" 1>&2
exit 1
fi

E por último, sempre que for rodar o seu script. Rode-o como root
$ sudo ./seu-script.sh 

ou preferivelmente
# ./seu-script.sh 



<---------------------------------------------------------------->
O seu tempo é o único bem que você não recupera


7. Re: Shell Script

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 17/03/2019 - 17:03h


FR34AK escreveu:

Saudações!!

Seguinte, sou bem leigo em Shell Script e queria saber como faz para autenticar o usuário root nesse programa:

#!/bin/bash

echo "-------------------------"
echo "Iniciando o Eclipse..."
echo "-------------------------"

echo "Informe sua senha de ROOT:"
su
#Aqui deveria informar a senha sem que o usuário tivesse que a inserir.
cd /root/eclipse/java-2018-12/eclipse
./eclipse


Obrigado!

Boa tarde FR34AK.
Uma opção (a unica que encontrei), é usar o "expect"
Segue exemplo:
#!/usr/bin/expect -f
set timeout 1
set usuario [lrange $argv 0 0]
set senha [lrange $argv 1 1]

spawn /bin/su $usuario
expect "Password:"
send -- "$senha\r";
#A Linha abaixo é o comando que será executado como root.
send -- "/usr/sbin/dmidecode\n"
send -- "exit\r"
expect eof

OBS: Passe o usuário e a senha como parâmetros:
./EXPECT.sh usuário senha
Att.: Marcelo Oliver


8. Re: Shell Script

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 17/03/2019 - 17:05h


Mauriciodez escreveu:


[quote]msoliver escreveu:
Estranho esse seu comando Mauricio....
Sempre utilizo o "sudo", e não é necessário informar a senha . . . .


como assim não é necessário informar a senha ??? só não pede senha no sudo depois da primeira vez que ela é inserida e na mesma seção 1!!

Mauricio, uso o Debian Live, e aqui não é necessário colocar a senha para o sudo, somente para o su.
Att.: Marcelo Oliver


9. Re: Shell Script

Perfil removido
removido

(usa Nenhuma)

Enviado em 07/06/2019 - 18:05h

Aproveitando os comentários acima,
pela primeira vez me veio a ideia de
juntar exec que substitui a shell atual
por uma nova e ${0} que aponta ao
próprio script...


#!/bin/bash
#
#
if [ "$(id -u)" != "0" ]; then
exec sudo ${0}
fi

echo "Script é root agora"
touch /root/SUDOTEST.txt



PS. Agora que eu vi que ele não perguntou nada disso
que eu respondi!






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts