Criando um usuário exclusivo para desligar/reiniciar o PC ou para executar um programa/script
Já montei vários servidores e tive problemas por deixar a senha do root com os clientes para executar algumas operações. Primeiro por ser incômodo (ou até complicado) ao usuário que não conhece Linux executar linhas de comando para isso e para aquilo. Em segundo lugar porque é um risco deixar a senha do superusuário com leigos, afinal, nada impede que o usuário faça uma porcaria no servidor. Em terceiro lugar, para evitar que "engraçadinhos" bisbilhotem ou roubem alguma informação do servidor.
Para resolver isso, criei um usuário exclusivo para desligar, reiniciar, executar um programa, cadastrar usuários etc. O melhor de tudo é que a senha do root fica comigo e entro com ela apenas para dar manutenção ou resolver algum bode. O cliente entra com o usuário de acordo com o que ele quer fazer. Quando termina a tarefa, o usuário é desconectado imediatamente, e retorna à tela de login. Excelente, não é? Agora vamos pôr a mão na massa.
Crie um usuário qualquer.
Abra o arquivo /etc/passwd, neste arquivo você pode escolher o interpretador de comandos (Shell) do usuário, ou seja, escolher o que ele vai abrir após o login. No exemplo da linha de comando abaixo, o usuário "djair" vai abrir o "/bin/bash" que é o Shell padrão do Conectiva, indicado no final da linha. Exemplo:
djair:x:500:500:djair dutra:/home/djair:/bin/bash
Para criar um usuário que execute um script, por exemplo, troque o /bin/bash pelo caminho completo do script. Exemplo:
Para criar um usuário que desligue o computador, você pode dar privilégios de superusuário para ele, simplesmente alterando seu id para 0 (zero), como no exemplo abaixo. Ao entrar com este usuário o computador será desligado imediatamente. Exemplo:
djair:x:0:500:djair dutra:/home/djair:/sbin/shutdown -h now
Para melhorar você pode criar um script que dê opções para desligar ou reiniciar o computador.
[1] Comentário enviado por JuNiOx em 24/05/2006 - 11:15h
cara, parabéns!!
achei muito interessante essa dica! muito boa mesmo.
afinal, usuário já é um @#!$@# e com a senha do root é capaz de @#@#$ tudo o servidor e depois te culpar por má configuração ou começar criticar o SO, comparando com o windows.
você poderia colocar o seu script que fez para o usuário desligar, reiniciar, executar um programa, cadastrar usuários etc... só pra complementar
=)
[4] Comentário enviado por aps167 em 28/03/2007 - 11:54h
segue abaixo o script escrito pelo Djair, funciona bacana.
#!/bin/sh
# Maiores esclarecimentos de como executar o script "automagicamente"
# no login, favor reportar-me por e-mail ou no próprio vivaolinux.com.br.
clear
echo -e '{FONTE}33[40;33;1;1m###############################'
echo -e '{FONTE}33[40;33;1;1m###### ESCOLHA UMA OPÇÃO ######'
echo -e '{FONTE}33[40;33;1;1m###############################'
echo
echo
echo "1) Desligar o computador"
echo "2) Reiniciar o computador"
echo "3) Fechar"
read opt
if [ "$opt" == "" ]; then
echo "O campo está vazio. Operação cancelada."
sleep 3 && clear
elif [ "$opt" == "1" ]; then
echo "Aguarde enquanto seu computador é desligado."
sleep 3 && /sbin/shutdown -h now
elif [ "$opt" == "2" ]; then
echo "Aguarde enquanto seu computador é reiniciado."
sleep 3 && /sbin/shutdown -r now
elif [ "$opt" == "3" ]; then
exit
else
echo "Opção inválida! Escolha o número correspondente a ação que deseja executar."
sleep 5 && exit
fi