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
|