Criando um usuário exclusivo para desligar/reiniciar o PC ou para executar um programa/script

Publicado por Djair Dutra C. Jr. em 24/05/2006

[ Hits: 13.889 ]

 


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:

djair:x:500:500:djair dutra:/home/djair:/etc/meu_script

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.

Espero ter ajudado!!!

Falow cambada!

Outras dicas deste autor

Reencontrando sites / informações perdidas

Listando todas as classes PHP e seus respectivos métodos

Comando dd - Truque para visualizar progresso de cópia de arquivos

Montando partições NTFS no Ubuntu Linux (definitivo)

Dando uma penteada final no Ubuntu

Leitura recomendada

Canivete suíço em bash

OMNI-bot para Enemy Territory - Scripts para facilitar o uso

Montando partição Windows automaticamente

Descobrir o MAC address de um IP com arping

gxmessage :: shell script incrementado

  

Comentários
[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
=)

[2] Comentário enviado por JuNiOx em 24/05/2006 - 11:16h

ah, só uma pergunta.
dessa forma, o interpretador de comandos que esse usuário irá utilizar será o que for setado na inicialização do script, certo?

[3] Comentário enviado por whisper em 25/05/2006 - 19:57h

mto boa a dica :)

[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

[5] Comentário enviado por anarco2002 em 14/12/2008 - 10:13h

Legal! Artigo muito bom!



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts