Linux slogan
Visite também: Segurança Linux · BR-Linux.org · Dicas-L · Doode · NoticiasLinux · SoftwareLivre.org · UnderLinux



» Screenshot
Linux: STF no SliTaz
Por doradu
» Login
Login:
Senha:

Se você ainda não possui uma conta, clique aqui.

Esqueci minha senha


Dica

Criando um usuário exclusivo para desligar/reiniciar o PC ou para executar um programa/script
Linux user
Publicado por Djair Dutra C. Jr. em 24/05/2006

Login: malacker, 734360 pontos | Blog: http://www.easytecnologia.com.br
[ Hits: 6820 ]

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

Leitura recomendada
   Dica Linux recomendada Shell In A Box - Acessando o Shell Linux pelo Navegador Web
   Dica Linux recomendada "Bleeding Edge" para o seu Ubuntu 32 bits
   Dica Linux recomendada Entrando com argumentos em shell script
   Dica Linux recomendada Recuperando posição do cursor na última linha editada no VIM
   Dica Linux recomendada Sistema de backup em shell script

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


  
Para executar esta ação você precisa estar logado no site, caso contrário, tudo o que for digitado será perdido.
Responsável pelo site: Fábio Berbert de Paula - Conteúdo distribuído sob licença GNU FDL
Site hospedado por:

Viva o Linux

A maior comunidade Linux da América Latina! Artigos, dicas, tutoriais, fórum, scripts e muito mais. Ideal para quem busca auto-ajuda em Linux.