Sudo
O comando sudo (SUperuser DO) fornece a um usuário comum permissão de execução para comandos restritos ao usuário root. Dessa forma torna-se possível, por exemplo, instalar programas sem a necessidade de se logar como root.
Configuração
O arquivo de configuração do sudo é /etc/sudoers e existe o comando visudo para editar o arquivo, já que o arquivo vem com permissão somente de leitura:
$ ls -l /etc/sudoers
-r--r----- 1 root root 349 2007-01-24 15:51 /etc/sudoers
E é necessário mudar a permissão para editá-lo e para usar o comando sudo o arquivo de configuração deve ter as mesmas permissões iniciais, além disso o próprio comando visudo verifica a sintaxe do arquivo indicando se houver erros.
Digite visudo como usuário root no terminal e insira a seguinte linha, com as devidas alterações:
user host = NOPASSWD: /end/do/comando
No qual:
useré o usuário que terá, permissão para executar o comando, há ainda a possibilidade de informar o grupo ao qual o usuário pertence, neste caso adicione%, como no exemplo que é colocado no grupoadmin:
%admin ALL=NOPASSWD: ALL
hostnome do computador onde o comando poderá ser executado (ALLpara todos);NOPASSWDevita que o usuário tenha que confirmar sua própria senha ao executar o comando através dosudo(o contrário éPASSWD);/end/do/comandoé a localização do comando, ou pode ser usado a palavraALLpara todos os comandos (tome cuidado com isso).
Saia normalmente do arquivo, caso haja erro o visudo verifica o arquivo e informa do erro de sintaxe e é só teclar e e <ENTER> para editar novamente e corrigir o erro.
Com tudo isso feito somente falta só um teste, como você deve saber o sudo vem antes do comando:
$ sudo command
Resolução de problemas
Caso apareca uma mensagem de erro semelhante a:
$ sudo pwd
sudo: unable to resolve host myhostname
Basta colocar o myhostname no /etc/hosts, como no exemplo abaixo:
127.0.0.1 myhostname