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
host
nome do computador onde o comando poderá ser executado (ALL
para todos);NOPASSWD
evita 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 palavraALL
para 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