sudo
O comando sudo do sistema operacional Unix permite a usuários comuns obter privilégios de outro usuário, em geral o super usuário, para executar tarefas específicas dentro do sistema de maneira segura e controlável pelo administrador. O nome é uma forma abreviada de se referir a substitute user do (fazer substituindo usuário) ou super user do (fazer como super usuário).
Índice |
[editar] História
sudo foi desenvolvido por Bob Coggeshall e Cliff Spencer nos anos 80. A versão atual é mantida por Todd C. Miller e distribuída sob um tipo de licença BSD.
[editar] Uso e funcionamento
Um super usuário precisa definir no arquivo /etc/sudoers quais usuários podem executar sudo, em quais computadores podem fazê-lo e quais comandos podem executar através dele. Por ser uma tarefa delicada em termos de segurança a edição direta deste arquivo não é recomendada. Para isso foi criada a ferramenta denominada visudo que invoca um editor para uma cópia do arquivo /etc/sudoers e em seguida verifica o conteúdo do arquivo antes de substituir a configuração atual.
Um usuário que esteja inscrito no /etc/sudoers pode invocar o comando da seguinte forma:
sudo [-u usuário] comando
Onde comando é o comando que deseja executar. A opção -u usuário serve para especificar qual usuário deve ser utilizado para executar o comando, se omitida sudo considera o usuário root.
Antes do comando ser executado, sudo confirma a identidade do usuário pedindo sua própria senha. Se o usuário tem permissão garantida na configuração, o comando é executado como super usuário e retorna. A linha de comando continua sendo a do usuário que executou sudo e não a do super usuário.
Caso sudo seja executado de forma não permitida pela configuração, um registro da ocorrência é feito no arquivo /var/log/auth.log.
[editar] Distribuições
Algumas distribuições Linux desabilitam o super usuário e exigem que todas as tarefas administrativas sejam realizadas através do sudo. Ubuntu é um exemplo destas distribuições.
Apesar do super usuário ser desativado na distribuição Ubuntu, o mesmo pode ser ativado executando passwd através do sudo, atribuindo uma senha para root.