Comando sudo

Um dos comandos mais úteis do Linux é o comando sudo.

Com ele é possível rodar programas como root sem comprometer a segurança do sistema. Assim, é possível, por exemplo, que um administrador do sistema não precisar ficar logando como root toda hora para alterar coisas importantes do sistemas. Outra aplicação é permitir que usuários sem privilégios rodem scripts, sem precisar ficar alterando estes scripts para permissão a todos os usuários.

Um exemplo de aplicação, no meu caso é rodar um script php que cadastra, remove e consulta meus usuários de email. Assim, o script php fica associado ao apache, que roda o web server, mas o comando roda um shell script que está associado ao vpopmail. Assim a segurança do servidor permanece, pois o apache só pode roda o script do vpopmail, via localhost, e somente este comando como root, mais nenhum.

Para o sudo funcionar se faz necessário editar o arquivo sudoers. Isto pode ser feito com o comando visudo. Este comando deve ser rodado como root. Após isto, abre um arquivo conf como este:

# sudoers file.## This file MUST be edited with the 'visudo' command as root.## See the sudoers man page for the details on how to write a sudoers file.## Host alias specification# User alias specification# Cmnd alias specification# Defaults specification# Runas alias specification# User privilege specificationroot ALL=(ALL) ALL # Uncomment to allow people in group wheel to run all commands# %wheel ALL=(ALL) ALL # Same thing without a password# %wheel ALL=(ALL) NOPASSWD: ALL # Samples# johndoe ALL=/sbin/mount /cdrom,/sbin/umount /cdrom# %users ALL=/sbin/mount /cdrom,/sbin/umount /cdrom# %users localhost=/sbin/shutdown -h now# %users localhost = NOPASSWD: /sbin/shutdown -h now

Como podemos ver, você pode definir o usuário (johndoe), ou um grupo (adicionando %, como em %users), o IP acompanhado pelo sinal de = e podendo ser com senha (do usuário) ou não, para a excecução do comando. Em outro momento vou passar uma explicação mais profunda do comando e os operados envolvidos no arquivo.

Alguns bons textos sobre o comando sudo:

LinuxSecurity

Courtesan example

sudo manual



Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s