Utilizando o SUDO para desligar ou reiniciar um PC logado com um usuário comum
Dica publicada em Linux / Comandos
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.
Comando necessário:
Respectivo arquivo de configuração:
Comando (não obrigatório) que pode ser utilizado para edição do arquivo sudoers:
(*) localizações referentes ao Slackware 9.1
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:
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}
[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.
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.