Será solicitada a senha sudo uma segunda vez?

2

Isso é o que planejo fazer:

#!/bin/bash

sudo -i <<'EOF'
iptables-save | awk '/^[*]/ { print $1 } 
                 /^:[A-Z]+ [^-]/ { print $1 " ACCEPT" ; }
                 /COMMIT/ { print $0; }' | iptables-restore
EOF

Eu salvarei o que precede e chamo de cleariptables.sh. Vou configurá-lo como executável.

Ele será colocado em uma pasta chamada bin no seguinte caminho: / home / cymbal / bin /

(onde cymbal é o nome de usuário)

Eu vou criar um atalho para cleariptables.sh na área de trabalho. O conteúdo do atalho será:

[Desktop Entry]
Version=1.0
Type=Application
Terminal=true
Icon[en_US]=nm-device-wired
Name[en_US]=ClearIPtables
Exec=gksudo /home/cymbal/bin/cleariptables.sh
Comment[en_US]=Flush iptables filters
Name=ClearIPtables
Comment=Flush iptables script
Icon=nm-device-wired

Sempre que eu clicar no atalho da área de trabalho, serei solicitado a inserir a senha e o script será executado.

Pergunta: Clicando no atalho da área de trabalho me pede a senha. Como há um sudo -i no script, serei solicitado novamente a senha?

    
por user66229 25.05.2014 / 20:15

2 respostas

0

Você pode usar a diretiva NOPASSWD no seu arquivo sudoers .

Adicione esta linha ao seu arquivo /etc/sudoers

your_login ALL = (root) NOPASSWD: /path/to/your/script

Ao editar este arquivo, você deve usar o comando visudo em vez de um editor de texto regular. Isso verificará os erros de sintaxe antes de salvar suas alterações.

    
por 25.05.2014 / 20:26
6

Não, você não deve ser solicitado a fornecer uma senha novamente. O script será executado como root devido ao gksudo . Na minha experiência, sudo nunca pede senha se você já é root (embora eu não tenha encontrado isso explicitamente documentado).

    
por 25.05.2014 / 22:57