Utilizando o SUDO para desligar ou reiniciar um PC logado com um usuário comum

Publicado por Antônio da Costa Nóbrega Neto em 08/12/2004

[ Hits: 25.756 ]

 


Utilizando o SUDO para desligar ou reiniciar um PC logado com um usuário comum



O comando "sudo" (SUperuser DO) fornece à um usuário comum permissão de execução para comandos restritos ao usuário root. Dessa forma torna-se possível, por exemplo, desligar ou reiniciar o computador sem a necessidade de se logar como root.

Isso pode ser extremamente útil se o sistema em questão utiliza um conjunto gráfico básico de aplicações, onde o XDM é o gerenciador de desktops, o Fluxbox é o desktop instalado e o usuário não deseja implementar os botões de "Desligar" e "Reiniciar" no XDM, mas sim uma simples opção de "Desligar" e "Reiniciar" no menu do Fluxbox.

Requisitos


Comando necessário:
  • /usr/bin/sudo (*)

Respectivo arquivo de configuração:
  • /etc/sudoers (*)

Comando (não obrigatório) que pode ser utilizado para edição do arquivo sudoers:
  • /usr/sbin/visudo (*)

(*) localizações referentes ao Slackware 9.1

Especificando as permissões no arquivo sudoers


1. Efetue logon como root ou "su root".

2. Digite o comando "visudo" ou "vi /etc/sudoers" (pode ser utilizado outro editor no lugar do vi).

3. Insira em algum lugar do arquivo a seguinte linha:

usuario host = NOPASSWD: /sbin/shutdown

Onde:
  • usuário = o usuário que terá permissão para executar o comando.
  • host = o nome do host do computador onde o comando se encontra.
  • NOPASSWD: = evita que o usuário tenha que confirmar sua própria senha ao executar o comando através do sudo.
  • /sbin/shutdown = localização do comando.

4. Salve o arquivo.

Executando


1. Efetue logon como usuário comum.

2. Digite uma das seguintes linhas de comando no prompt para executar sua respectiva função:

$ sudo /sbin/shutdown -h now (para desligar o PC)

$ sudo /sbin/shutdown -r now (para desligar o PC)

Inserindo as opções no Fluxbox


1. Edite o arquivo ~/.fluxbox/menu.

2. Insira os ítens:

[exec] (Desligar o Computador) {sudo /sbin/shutdown -h now}

[exec] (Reiniciar o Computador) {sudo /sbin/shutdown -r now}

Observações:

1. Para que o sudo funcione, ao entrar com a linha de comando, o usuário deve especificar o caminho EXATO que foi definido no arquivo sudoers.

Correto: sudo /sbin/shutdown (opções)

Incorreto: sudo shutdown (opções)

2. Da mesma forma como foi descrito acima, podem ser estabelecidas permissões a outros comandos de uso restrito ao usuário administrador (root), no entanto, vale lembrar que isso implicaria em um sistema menos seguro e mais vulnerável a ataques externos.

Para mais informações e opções, consulte as páginas "man" do sudo e sudoers.

Outras dicas deste autor

Configurando o GAIM para MSN Messenger no Slackware 10.2

Leitura recomendada

Limitando velocidade de download

Localizar arquivos ou diretórios no Linux

Como listar arquivos ordenados por tamanho

Como criar disco de boot com o Grub com apenas 1 comando

Instalações e atualizações com apt-get no BRLix

  

Comentários
[1] Comentário enviado por acnnx em 23/03/2006 - 23:15h

Observações:

Observação 1: no campo 'Especificando as permissões no arquivo sudoers', o item 2 faz referência à edição do arquivo '/etc/sudoers', mas este arquivo deve estar com as permissões de usuário e grupo setadas para apenas leitura, logo, para poder modificar seu conteúdo deve-se antes alterar a permissão de usuário ( no caso o root ) para escrita ( # chmod 640 /etc/sudoers ), ou simplesmente utilizar o comando 'visudo'. Se a opção escolhida for o comando 'visudo', as alterações só entrarão em vigor após fechar o arquivo ( não adianta apenas salvá-lo ).

Observação 2: no campo 'Executando', a opção '$ sudo /sbin/shutdown -r now' reinicia o PC.

[2] Comentário enviado por gpr.ppg.br em 07/07/2006 - 16:37h

que coisa... achei o fluxbox bem melhor que o kde +
nao inicia os programas que tao no kde.

por exemplo o msn SIM nao abriu.
e o x0rfbserver que eu uso pra controlar o linux nao abriu ;-(

o que faço? alguem sabe?

aqui aocntece isso:

root@kurumin:/home/kurumin# x0rfbserver
Xlib: connection to ":0.0" refused by server
Xlib: Invalid MIT-MAGIC-COOKIE-1 key
Fatal error: Can't open display ":0.0"

root@kurumin:/home/kurumin#

so finciona indo em menu KDE ->
configura ->
rodar programa como root

dai abriu o x0rfbserver.

[3] Comentário enviado por acnnx em 07/07/2006 - 17:46h

Aparentemente, seu problema está na configuração do arquivo 'xorg.conf' ou 'XFree86.conf', dependendo de qual deles sua distro, que parece ser Kurumin, utiliza. O trecho que vc faz menção ' ...Fatal error: Can't open display ":0.0" ' significa que suas configurações de video não estão sendo suportadas. Isso pode estar acontecendo por causa de uma configuração de frequência vertical ( Hz ) ou horizontal ( KHz ) incompatível com a do seu monitor, ou mesmo por causa de seu driver de video estar sendo definido incorretamente nos aquivos citados acima. Mas vc diz que no KDE tudo está normal, então a única explicação lógica que encontro pra isso é o fato do KDE 'tentar' múltiplas configurações, até achar a compatível com seu sistema, coisa que o Fluxbox não faz. Ou seja, minha sugestão é que vc tente configurar o arquivo citado acima correspondente a sua distribuição e verifique se os valores definidos nas seções 'Monitor section', 'Graphics device section' e 'Screen sections' estão correspondentes ao seu sistema.

[4] Comentário enviado por gpr.ppg.br em 09/07/2006 - 13:26h

ok valeu.

[5] Comentário enviado por cleitão em 30/11/2006 - 18:36h

Cara bem legal essa dica estava precisando disso mesmo!!!!!!

[6] Comentário enviado por acnnx em 01/12/2006 - 01:03h

Jóia! ;-)

[7] Comentário enviado por xerxeslins em 13/11/2007 - 12:27h

deu erro de syntax no meu e eu ja refiz varias vezes...

no arquivo sudoers eu coloquei o seguinte

xxl wood = NOPASSWORD: /sbin/shutdown -r now

salvei e depois fui no terminal e fiz como usuario xxl@wood :

"shutdown /sbin/shutdown -r now"

aparece sudoers file : syntax error, line 30

meu slack eh 12.0

sera por isso?

[8] Comentário enviado por acnnx em 14/11/2007 - 07:23h

Vc fez as configurações no arquivo 'sudoers' corretamente, o detalhe que está incorreto é a linha de comando executada no terminal. Ela deve indicar o caminho completo do comando definido no arquivo 'sudoers', precedido do comando 'sudo'.

Exemplo:

sudo /sbin/shutdown -r now



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts