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: 255.618 ]

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

Clonagem de Hardware Hotline em Software Livre

Explorando o wget

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

Encapsulamento de Apache com chroot

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

Leitura recomendada

Instalando uma adaptadora PCI/PCMCIA e um cartão orinoco

Monitoramento e controle de banda por VirtualHost no Apache

Compiz Fusion no Gutsy

Explorando as possibilidades do XFree86

Configurando o OpenVPN para múltiplos clientes

  
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:
flavio@flavio-laptop:~/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 removido 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




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts