Ir al contenido principal

Hacer que un usuario estándar pueda apagar el equipo en Xubuntu 11.10

En esta primera aportación a la Bitácora de Ubuntu voy a explicar como se puede configurar el Xubuntu 11.10 para que un usuario que ha sido creado con el perfil estándar pueda apagar el ordenador desde el menú.

Supongo que la mayoría de usuarios que lean esta entrada saben que es Xubuntu. Para aquellos que no lo sepan y piensen qué es lo que hace un artículo de Xubuntu en un blog de Ubuntu, me gustaría aclararles que Xubuntu es una distribución de Ubuntu que utiliza como alternativa al escritorio Unity el escritorio Xfce. Este gestor es más ligero que el Unity, el KDE o el Gnome; es decir, consume menos recursos, lo que lo hace muy recomendable para instalaciones en equipos de bajas prestaciones como los netbooks u ordenadores antiguos.


Antes de entrar en los detalles me gustaría también explicar el caso en el que se me hizo necesario averiguar cómo permitir a un usuario estándar el apagado del ordenador.  Instalé el Xubuntu en un barebone  de ViewSonic, pero una de las condiciones que tenía que cumplir era que el usuario que iba a utilizarlo no tuviera privilegios de administración, por lo que tuve que definirlo con el perfil de estándar. En otras instalaciones de Ubuntu que ya había realizado, un usuario con el perfil estándar puede apagar el ordenador. Había asumido que en Xubuntu sería igual. Tras la instalación me encontré conque usando el usuario estándar que había creado el sistema me solicitaba una contraseña de administración para poder apagar el ordenador. Fue entonces cuando tuve que averiguar como hacerlo.


Tras esta breve introducción vamos al meollo de la cuestión. A continuación explicaré la secuencia de acciones que tuve que llevar a cabo para realizar esta tarea con éxito. Todas las acciones descritas a continuación se realizan en la línea de comandos de GNU/Linux y con un usuario que tenga privilegios administrativos.


  •  Crear un grupo llamado shutdown, lo llamamos así porque shutdown significa apagar en inglés:
$sudo groupadd shutdown
  •  Añadimos el usuario al grupo recién creado:
 $sudo adduser <usuario> shutdown
  • Editamos el fichero sudoers, que es el fichero donde se encuentran definidos los usuarios que pueden utilizar la orden sudo para tareas administrativas. El fichero no se puede editar directamente por lo que hay que utilizar la orden:
$sudo visudo
  • Esta orden abrirá el fichero sudoers con el editor por defecto, en las últimas versiones de Ubuntu/Xubuntu el nano, en versiones anteriores el vi. Añadiremos al final del archivo las siguientes líneas:
%shutdown ALL=(root) NOPASSWD: /sbin/reboot
%shutdown ALL=(root) NOPASSWD: /sbin/halt
%shutdown ALL=(root) NOPASSWD: /sbin/shutdown
  • Un usuario diferente del superusuario (root) no puede acceder a los comandos que hay en el directorio sbin. Por lo tanto, se hace necesario crear unos scripts para cada uno de los comandos que permitimos en el fichero sudoers. Estos scripts se guardarán en el directorio /usr/bin.

Para el comando reboot el contenido del script será:
 #!/bin/sh
sudo /sbin/reboot $*
Para el comando halt el contenido del script será:
#!/bin/sh
sudo /sbin/halt $*
Para el comando shutdown el contenido del script será:
#!/bin/sh
sudo /sbin/shutdown $*
  • A continuación hay que establecer el usuario y grupo a cada uno de los scripts. Para ello usamos las siguientes sentencias:

$sudo chown root.shutdown /usr/bin/reboot
$sudo chown root.shutdown /usr/bin/halt
$sudo chown root.shutdown /usr/bin/shutdown

  •  Y, por último, establecemos los permisos de ejecución para los archivos con los scripts:

$sudo chmod 755 /usr/bin/reboot
$sudo chmod 755 /usr/bin/halt
$sudo chmod 755 /usr/bin/shutdown


Para terminar basta con iniciar una sesión con el usuario que se añadió al grupo shutdown para probar que, por fin, puede apagar el equipo sin problemas.

Espero que estas indicaciones les ayuden a solventar este problema.

Comentarios

Entradas populares de este blog

Firma digital de documentos usando LibreOffice

  Introducción Una firma digital es un proceso mediante el cual se puede consignar a un documento digital la identidad de una persona. Permitiendo, mediante el uso de certificados avalados por autoridades certificadoras, a cualquier persona verificar que el documento digital verdaderamente pertenece a la persona firmante. Además, también previene que, una vez firmado un documento, éste pueda ser modificado. El proceso de firmado se puede realizar utilizando distinto software, como por ejemplo el Autofirma o desde páginas específicas de Internet, casi siempre implicando el uso de applets de Java . En el presente artículo nos vamos a centrar en explicar como realizar dicho proceso de firma y su verificación utilizando la suite ofimática LibreOffice corriendo sobre Ubuntu . Para las pruebas y el desarrollo de este artículo voy a utilizar el  Ubuntu 20.04.3 LTS y el LibreOffice  6.4.7. Verificación del entorno A diferencia de Windows u OSX , en Linux no existe un almacén...

Instalación de Laravel Homestead y (IV)

  En esta entrada, la última de la serie dedicada al Homestead , veremos como llevar a la práctica lo que hemos aprendido hasta ahora. Lo haremos desde dos puntos de vista. Con el Homestead  instalado de forma global y con una instalación por proyecto. De este modo, podrás usar el Homestead de la forma en que más prefieras. Ejecución del entorno Homestead con una instalación global Llegados a este punto, supongo que ya tienen instalado el Homestead  en modo global y configurado el fichero Homestead.yaml . En él pondremos nuestra carpeta compartida ~/code  mapeada a /home/vagrant/code.  Pues ahora lo primero que hay que hacer es crear la máquina virtual. En el directorio donde instalamos nuestro Homestead : cd /Homestead vagrant up   Durante un buen rato se estará creando la máquina virtual, automáticamente se irá descargando e instalando el software definido en Homestead.yaml . Esto sólo ocurrirá la primera vez que se cree la máquina virtual. Las sigu...

Instalar Code::Blocks en español

Introducción Code::Blocks es un IDE libre diseñado para la programación de C, C++ y FORTRAN construido para proveer las necesidades más demandadas por sus usuarios. Está diseñado para ser muy extensible y totalmente configurable. Está diseñado a partir de un marco de trabajo de extensiones, por lo que puede ser ampliado mediante la instalación de las mismas. De hecho, las funcionalidades de compilación y depuración son extensiones. En este artículo, voy a explicar como instalar el Code::Blocks en un sistema con el Ubuntu 21.10 instalado. La versión de Code::Blocks que hay en los repositorios es la 20.03. Además, explicaré como poner su interfaz en español. Instalando pre-requisitos En primer lugar hemos de asegurarnos que tenemos instalados el compilador y las herramientas de depuración. Por lo que ejecutaremos en una terminal $sudo apt install build-essential gdb Con esto ya es suficiente para el C y C++. Instalando el paquete de Code::Blocks En una distribució...