Piter Punk's HomePage - Artigos
 
English version
Configurações para o SU

Piter PUNK

Você gostaria que o usuário operador pudesse entrar como qualquer usuário, mas sem saber as senhas dos usuários e sem poder se tornar root? ou talvez fazer com que você tivesse que digitar a sua própria senha para logar como root, como se estivesse usando o sudo?

Introdução

O exemplo acima é uma situação até comum, já que muitas vezes queremos ter um "sub"root na máquina, para resolver problemas de usuários. Ou podemos estar em nossa máquina pessoal e fazer com que o nosso usuário se tornasse root apenas digitando su, sem senha e sem maiores burocracias...

É possível fazer estas coisas e várias outras restrições utilizando o arquivo de configuração /etc/suauth. Muitas dessas personalizações também poderiam ser feitas via sudo, mas o suauth é extremamente simples e suficiente para a maioria dos casos.

Sintaxe

A sintaxe do tal arquivo é simples, como mencionei. Você coloca várias linhas, em que cada uma delas obedeça o padrão:

	usuário_destino:usuário_origem:AÇÃO

O tal usuário_destino é o alvo do comando su, no comando:

	su - teste

O usuário destino seria o teste. O usuário_origem é o sujeito que digitou o comando "su", e a AÇÃO é como o comando deve interpretar essa tentativa do usuário_origem trocar para o usuário_destino.

Usuários

A lista de usuários destino ou origem pode ser feita das seguintes maneiras:

  • nome: - Apenas o nome do sujeito (por exemplo: piterpk)
  • lista: - Nomes separados por vírgulas (ex: piterpk,punk)
  • ALL: - A palavra ALL significa todos (ex: ALL)
  • GROUP: - A palavra GROUP seguida pelo nome do(s) grupo(s). No caso de vários grupos, os nomes separados por vírgulas.

No caso das opções ALL e GROUP, você pode utilizar a palavra EXCEPT, para construir algo do tipo: ALL EXCEPT fulano (todos, menos fulano). A opção GROUP só funciona no campo do usuário de origem.

Ações

As ações a serem especificadas são três:

  • DENY - Não permite que o usuário origem se torne o usuário destino.
  • OWNPASS - Permite que o usuário origem se torne o usuário destino, desde que digite a sua própria senha.
  • NOPASS - Permite que o usuário origem se torne o usuário destino sem digitar nenhuma senha.

É importante lembrar que o procedimento normal quando se tenta trocar de usuário, é pedir a senha do usuário destino.

Juntando tudo

Vamos dar uma olhada em uma linha válida e ver o que acontece:

	root:punk:OWNPASS

O usuário de origem seria o "punk", o destino seria o "root" e a ação diz para que toda vez que o usuário "punk" tente trocar para o usuário "root", será pedida a senha do punk, e não a do root (como é feito normalmente).

	punk@rachael:~$ su   
	Please enter your OWN password as authentication.
	(Enter your own password.)
	Password: 
	root@rachael:/home/punk# 

Agora é só criar as suas regras e colocá-las no seu arquivo /etc/suauth. O arquivo aceita comentários (linhas que começam com #) mas é extremamente chato com espaços e coisas do tipo.

Exemplo

# 
# Arquivo /etc/suauth
#

# Permite ao punk trocar para root com o próprio password
#
root:punk:OWNPASS

# Permite ao punk trocar para qualquer usuário sem senha (exceto o root)
#
ALL EXCEPT root:punk:NOPASS

# Permite apenas aos usuários do grupo wheel conectar como root
#
root:ALL EXCEPT GROUP wheel:DENY

Conclusão

O próprio comando "su" permite uma série de configurações interessantes para controlar as políticas para a troca de usuário, basta saber onde e o quê configurar. Espero que este artigo tenha conseguido esclarecer essas duas perguntas. Quaisquer dúvidas ou sugestões: piterpk@terra.com.br


Links Principal Artigos Piter Punk Dicas Programas
 
Powered by Slackware Linux - Written in VIm (the best one!) Last Update: 30 Oct 2004