O comando sudo

Publicado em 24/9/2008 | Autor Márcio




Um recurso muito interessante do Unix/Linux é poder executar comandos como se fosse outro usuário.

O sudo é o comando que permite isto.

Sintaxe:

sudo [-u usuário] comando

Se não for usado o parâmetro -u ele executará o comando como root.

Claro que, por motivos de segurança, não dá para deixar qualquer um executando qualquer coisa como root. Por isso é necessário configurar que comandos um usuário poderá executar através do sudo adicionando as configurações necessárias no arquivo sudoers.

Para editar o arquivo sudoers deve-se usar o comando visudo.

Sintaxe:

visudo

O arquivo sudoers é composto por dois tipos de entradas:

Aliases

Sintaxe:

Alias_type  nome = item1[, item2][, ...]

Alias_types:

User_Alias e Runas_Alias
os items podem ser username ou %grupo

Host_Alias
os items podem ser hostname, ip_addr ou network/netmask

Cmnd_Alias
os items podem ser comando ou comando parâmetros

 

Especificações

Sintaxe:

user|user_alias_name|%group

host|host_alias_name|ALL=

[NOPASSWD:|PASSWD:]

Cmnd_Alias_name|comandos|ALL

(tudo em uma linha só)

 

(existem outras opções não abordadas aqui,
para saber mais consulte o man ou o site http://www.sudo.ws)

 

Exemplo

User_Alias ADMINS = will, wendy, wim
Runas_Alias OP = root, operator
Host_Alias SUN = serv1, serv2, serv3
Host_Alias LAN = 10.4.0.0/255.255.240.0
Cmnd_Alias KILL = /usr/bin/kill
Cmnd_Alias SHUTDOWN = /usr/sbin/shutdown
# root pode rodar quaquer coisa em qualquer máquina como qualquer usuário
root ALL = (ALL) ALL
# ADMINS rodam qualquer coisa em qualquer máquina sem senha
ADMINS ALL = NOPASSWD: ALL
# jack roda qualquer coisa nas máquinas da rede LAN
jack LAN= ALL
# operator roda comandos de manutenção (KILL e SHUTDOWN) e qualquer comando no diretório /usr/oper/bin/
operator ALL = KILL, SHUTDOWN, /usr/oper/bin/

Comments

One Response to “O comando sudo”

  1. Vicente via Rec6
    September 24th, 2008 @ 13:57
    Rodando aplicativos como outro usuário no Unix…

    leia mais……

Deixe um comentário!