De acordo com as Leis 12.965/2014 e 13.709/2018, que regulam o uso da Internet e o tratamento de dados pessoais no Brasil, ao me inscrever na newsletter do portal DICAS-L, autorizo o envio de notificações por e-mail ou outros meios e declaro estar ciente e concordar com seus Termos de Uso e Política de Privacidade.


Configuração básica do sudo

Colaboração: Lincoln Zuljewic Silva

Data de Publicação: 15 de Junho de 2009

Eu estava dando uma olhada no histórico da dicas-l e não achei nenhum artigo que explique facilmente a utilização/configuração do comando sudo, então resolvi escrever este aproveitando que tive que configurar o sudo em alguns servidores aqui na empresa.

Para quem não sabe, o sudo é um comando que permite um usuário executar um comando como se ele fosse outro usuário. Para ficar fácil, vamos supor que o nosso sistema tem os seguintes usuários: root, fulano e cicrano.

Por questões de segurança, o ideal é não logar diretamente como root, e sim como um usuário comum e executar ou o comando su ou o comand sudo .

O sudo pode servir para que o usuário fulano execute algum comando como usuário cicrano, ou ainda, pode servidor para que o usuário cicrano execute algum comando como usuário root.

O sudo tem somente um arquivo de configuração, o /etc/sudoers que pode ser editado de duas formas, a primeira utilizando o seu editor de texto preferido (vi por exemplo) e a segunda forma é utilizando o comando visudo, que na verdade parece executar um vi sudo , só que além disto, o visudo previne que mais de uma pessoa edite o sudores simultaneamente e contêm algumas rotinas de verificação de sintaxe do arquivo. Então para editar o sudoers, utilize SEMPRE o visudo.

Digamos então que você quer permitir que o usuário cicrano execute o comando id como root, coloque a seguinte linha no sudoers:

  cicrano         ALL = (root) NOPASSWD: /usr/bin/id

Explicando as colunas:

  • Coluna 1: o usuário ou grupo (no caso de grupo, coloque um % antes, exemplo %financeiro) que você irá atribuir os direitos.
  • Coluna 2: em que servidor (ALL) e com qual usuário o comando será executado ((root))
  • Coluna 3:especifica que o comando /usr/bin/id será executado sem que a senha do usuário de destino seja perguntada (NOPASSWD: /usr/bin/id).

Com isso, podemos testar:

  cicrano@server:~> sudo -l
  User cicrano may run the following commands on this host:
  (ALL) ALL
  (root) NOPASSWD: /usr/bin/id
  cicrano@server:~> sudo /usr/bin/id
  uid=0(root) gid=0(root) groups=0(root)

O commando sudo -l irá listar todos comandos que podem ser executados e logo depois executamos o id com o sudo. Repare que o comando retornou o usuário root .

O sudo tem mais algumas opções interessantes, porém este é o seu funcionamento básico.

Lincoln Zuljewic Silva trabalha com Linux desde 1999. É administrador de sistemas e mantem o blog www.system.adm.br

Adicionar comentário

* Campos obrigatórios
5000
Powered by Commentics

Comentários

Nenhum comentário ainda. Seja o primeiro!


Veja a relação completa dos artigos de Lincoln Zuljewic Silva