Você pode executar sh
para combinar dois comandos em um:
sudo sh -c 'iptables -D INPUT 7 && iptables -D INPUT 6'
É claro que criar um script será mais conveniente se não for uma coisa única.
Eu escrevi um pequeno script bash. Precisa de senha de root.
Existem apenas dois comandos, os quais precisam da permissão. Então, atualmente devo inserir a senha de superusuário duas vezes - não quero isso.
Eu vinculei o script ao desktop. E estou a executar a partir do ambiente de trabalho, quero dizer.
Meu esforço, que não funciona:
gksu -u root "iptables -D INPUT 7 && iptables -D INPUT 6"
Pessoalmente eu gostaria de escrever um script e colocá-lo em ~/bin
ou algum outro diretório em $ PATH, e então ter um ícone no desktop que executa sudo <script_name>
. Há muitas maneiras de fazer isso, esse é o meu método preferido:
mkdir ~/bin
editor ~/bin/myscript
Em seguida, escreva seu script:
#!/bin/bash
iptables -D INPUT 7
iptables -D INPUT 6
Salve e torne-o executável:
chmod +x ~/bin/myscript
E finalmente crie um atalho na área de trabalho que execute o script:
editor ~/Desktop/myscript
contendo:
[Desktop Entry]
Version=1.0
Type=Applicaton
Name=Myscript
Comment=My script that does something cool
Icon=help-info
Terminal=false
Exec=bash -c "sudo ~/bin/myscript"
Você será solicitado a digitar a senha sudo apenas uma vez. Espero que isso ajude você.
Você pode usar sudo -v
para "atualizar" as permissões. Você poderia usar isso em um loop de fundo enquanto o script é executado. (Eu adaptei isso de algum outro lugar há muito tempo, mas eu esqueci onde.)
sudo_done="/tmp/sudo.finished"
sudo_me() {
while [ ! -f $sudo_done ]; do
sudo -v
sleep 5
done &
}
stop_sudoing() {
touch $sudo_done
sleep 7
rm $sudo_done
}
sudo_me &
# Your script here.
stop_sudoing &
Além disso, se não for um programa de GUI, gksu
é desnecessário e sudo
está bem.
Tags password gksu shell-script