Comando sudo - instalação e configuração

Quantas vezes um administrador se depara com a difícil necessidade de ceder a senha de root a algum administrador de um serviço específico, ou a um grupo de pessoas, e na fatalidade alguém com a senha de root destrói tudo. Pois é, o sudo serve para resolver este dilema.

[ Hits: 242.764 ]

Por: Ricardo Brito do Nascimento em 16/04/2007 | Blog: http://brito.blog.incolume.com.br


Configurando o sudo



O arquivo de configuração do sudo é o /etc/sudoers, onde se encontra as permissões e usuários que poderam executar algum comando.

Geralmente, em algumas distros, este arquivo é protegido conta edição, existindo um comando exclusivo para manipulação, o comando visudo. O qual deve-se utilizar para edição do sudo.

Com o comando sudo pode-se delegar autoridade para execução de comandos ou coleção de comandos exclusivos a um usuário especifico ou a um grupo de usuários.

OBS: O arquivo de configuração /etc/sudoers deve ser editado unicamente pelo comando *'visudo'.*

Com o sudo o administrador pode especificar que um determinado usuário só poderá executar um comando com status administrativo de um host específico.

Host Aliases:

Pode definir alias para grupos de máquinas ou para host específico.

Exemplos:

Host_Alias     FILESERVERS = fs1, fs2 # com dns local 
Host_Alias     MAILSERVERS = 10.0.0.1, 10.1.1.1 
Host_Alias     SERVERS = 10.0.0.2, dns, firewall, dhcp, www 

User Aliases:

Pode definir alias para grupos de usuários ou para um usuário específico. Inclusive com informações oriundas de LDAP, NIS, AD e arquivos de configuração do Linux.

Exemplos:

User_Alias ADM = %groupname %administradores 
User_Alias ADMINS = ricardobn, ricardo.brito 
User_Alias WEBMASTERS = pedro, rodrigo, eliana 

Command Aliases:

Pode definir alias para grupos de comandos ou para um comando específico.

Cmnd_Alias     DUMPS = /usr/bin/mt, /usr/sbin/dump, /usr/sbin/rdump,\ 
                       /usr/sbin/restore, /usr/sbin/rrestore 
Cmnd_Alias     KILL = /usr/bin/kill 
Cmnd_Alias     PRINTING = /usr/sbin/lpc, /usr/bin/lprm 
Cmnd_Alias     SHUTDOWN = /usr/sbin/shutdown 
Cmnd_Alias     HALT = /usr/sbin/halt 
Cmnd_Alias     REBOOT = /usr/sbin/reboot 
Cmnd_Alias     SHELLS = /usr/bin/sh, /usr/bin/csh, /usr/bin/ksh, \ 
               /usr/local/bin/tcsh, /usr/bin/rsh, \ 
               /usr/local/bin/zsh 
Cmnd_Alias     SU = /usr/bin/su 

Subgrupo para administração de rede:

Cmnd_Alias NETWORKING = /sbin/route, /sbin/ifconfig, /bin/ping, /sbin/dhclient, /usr/bin/net, /sbin/iptables, /usr/bin/rfcomm, /usr/bin/wvdial, /sbin/iwconfig, /sbin/mii-tool

Subgrupo para Instalação e gerenciamento de software:

Cmnd_Alias SOFTWARE = /bin/rpm, /usr/bin/up2date, /usr/bin/yum

Subgrupo para administração de serviços:

Cmnd_Alias SERVICES = /sbin/service, /sbin/chkconfig

Subgrupo para administração de atualização da base de dados local:

Cmnd_Alias LOCATE = /usr/sbin/updatedb

Subgrupo para administração dos dispositivos de bloco:

Cmnd_Alias STORAGE = /sbin/fdisk, /sbin/sfdisk, /sbin/parted, /sbin/partprobe, /bin/mount, /bin/umount

Subgrupo para administração para Delegação de permissões:

Cmnd_Alias DELEGATING = /usr/sbin/visudo, /bin/chown, /bin/chmod, /bin/chgrp

Subgrupo para administração de Processos:

Cmnd_Alias PROCESSES = /bin/nice, /bin/kill, /usr/bin/kill, /usr/bin/killall

Subgrupo para administração de Drivers:

Cmnd_Alias DRIVERS = /sbin/modprobe
Página anterior     Próxima página

Páginas do artigo
   1. Introdução
   2. Configurando o sudo
   3. Configurações avançadas
   4. Configuração das variáveis de ambiente
Outros artigos deste autor

CMS Plone 4.1.6 com invólucro Virtualenv + Buildout + Mount Point + BLOB Storage + Unicode UTF-8

Instalação Plone 2.5.5 com módulos customizados

Vim com corretor ortográfico em pt_BR/es_ES/en_US

Configurando Subversion

Conexão com chaves assimétricas sem uso de senha em servidor sshd

Leitura recomendada

Sistema de arquivos criptografado

Cluster de Virtualização com Ganeti

LoadBalance e Failover com OpenBSD e PF

CoreOS no VirtualBox

Linux com cara de Windows para atrair novos usuários

  
Comentários
[1] Comentário enviado por thelinux em 16/04/2007 - 23:32h

Parabéns. Já uso algum tempo e gostei do teu artigo.

[2] Comentário enviado por y2h4ck em 16/04/2007 - 23:37h

Uma providencia de segurança importante é adicionar um grupo especial o qual somente o mesmo tenha acesso a execução do sudo, fazendo com que a administracao de usuarios com privilegios de execucao do mesmo seja facilitada e tambem evita que o acesso seja demasiadamente permissivo.

[3] Comentário enviado por rick001_7 em 17/04/2007 - 00:17h

Sempre usei o Sudo, uma ótima forma de você poder gerenciar servidores, principalmente em grandes empresas, onde várias pessoas têm acesso ao servidor.
Utilizando o Sudo você tem o log de cada usuário e o que cada um fez, podendo verificar e analisar as ações de cada um, no caso de algum desastre causado por algum usuário na manipulação da máquina.

[4] Comentário enviado por dvj em 17/04/2007 - 10:13h

Excelente artigo, muito bem elaborado e explicado.

[5] Comentário enviado por brunokino em 17/04/2007 - 23:56h

Parabéns, Excelente Artigo, eu mesmo não conhecia esta ferramenta! muito útil e importante. Valew

[6] Comentário enviado por @ecs em 18/04/2007 - 19:58h

exelente artigo, me ajudou bastante com um probleminha que estava tendo com a configuração avançado do sudo. Parabéns.

[7] Comentário enviado por aprendiz_ce em 20/04/2007 - 12:43h

Excelente artigo!

O mesmo já foi para a "caixinha" de favoritos.

Parabéns.

[8] Comentário enviado por removido em 29/04/2007 - 03:20h

muito bom cara!! tinha configurado algumas coisas erradas aqui =]

valeu!

[9] Comentário enviado por Mithus em 29/08/2007 - 14:01h

No inicio, pensei que seria apenas uma tradução do arquivo, mas os seus comentários e exemplos foram muito bem aplicados!! Parabéns!! =)

[10] Comentário enviado por ckavila em 16/10/2007 - 15:59h

Oi... Como vai?
Li seu artigo sobre o sudo. Nele você diz que alias podem ser definidos inclusive com informaçoes do Active Directory. Eu estou usando WINBIND para logar em estações Debian utilizando conta e senha do AD. So que não consigo fazer esses usuarios terem acesso ao sudo. Será que você poderia me ajudar?

Obrigada :)

[11] Comentário enviado por luizhacker em 21/12/2007 - 12:42h

Ótimo artigo!

Ele possui uma linguagem de fácil entendimento tanto para os mais experiêntes como para os iniciantes, parabéns!

[12] Comentário enviado por valterrezendeeng em 07/01/2008 - 19:45h

Valeu teu artigo auxiliou-me

Abraços

[13] Comentário enviado por HenriqueRJ em 26/06/2008 - 10:35h

Prezados,

Eu quero que todos os administradores possam fazer tudo, exceto trocar a senha de root usando o comando "passwd root".

Que parâmetros eu devo usar??

Desde já muito obrigado!

[14] Comentário enviado por rbn_jesus em 18/08/2008 - 21:06h

HenriqueRJ
configuração avançada

Proíbe ao usuário 'john' executar o comando 'su -', 'su - root' ou 'su root' na máquina 'penta':
john penta = /usr/bin/su [!-]*, !/usr/bin/su *root*

[15] Comentário enviado por flavioc em 17/07/2009 - 22:22h

Ola, preciso de ajuda. Uso Ubuntu 9.04. O uso do Sudo aqui deu um problema. to tentando configurar um hardware, e ao aplicar as configurações da um erro. Veja abaixo:
[email protected]:~/wis-go7007-linux-0.9.8-3$ wd=`pwd`; sudo patch -d /etc/init.d -p0 -i "$wd"/patches/mountdevsubfs.sh-usbfs.patch
sudo: patch: command not found

como resolver? Obrigado

[16] Comentário enviado por marcospantazis em 14/05/2011 - 15:56h

Olá, Grande Henrique !
Excelente artigo, como faria para através do sudo, permitir que um usuário logue direto no ssh ?

Atenciosamente,
Marcos André

[17] Comentário enviado por rbn_jesus em 06/07/2011 - 14:12h

Olá Marcospantazis,
Eu sou o autor do artigo, e sobre a tua pergunta, O que pretende não é delegação de permissão.
O q vc pode fazer é criar um script bash, e coloca-lo como bash do usuário em questão.

ex:
### shellssh ####
ssh ${LOGNAME}@maqRemota

No arquivo /etc/passwd, altere /bin/bash, para o arquivo acima.

[18] Comentário enviado por rbn_jesus em 11/11/2011 - 10:16h

Olá a todos!!!
Informo que este artigo foi atualizado em:
http://brito.blog.incolume.com.br/2011/11/comando-sudo-instalacao-e-configuracao.html

[19] Comentário enviado por removido em 29/03/2013 - 21:03h

Simples e direto. 10.

[20] Comentário enviado por sr.machado em 15/07/2013 - 07:39h

Eu particularmente nunca usei porque a maioria do que uso é em servidores, claro que no meu pc pessoal uso, mas a frequencia é menor. Excelente artigo. Parabéns!

[21] Comentário enviado por albfneto em 31/08/2013 - 12:50h

Favoritado, sudo é sempre importante.
eu uso.

[22] Comentário enviado por wleite em 18/04/2014 - 11:04h

Parabéns pelo artigo! Esse merece nota 10!

[23] Comentário enviado por GustM em 23/07/2014 - 20:14h

Excelente artigo, me salvou aqui pq havia reinstalado o sistema e o sudo não funciona quando eu tentava usar comandos como o "Installpkg"! Obrigado! :D

[24] Comentário enviado por danistation em 15/06/2015 - 16:36h

Excelente abordagem, explicativa e demonstrativa! Com uma contribuição dessas, fica difícil não se motivar em aprofundar mais no manual do sudo entre outros! Parabéns ao autor!


Contribuir com comentário