GNU/Linux >> Tutoriales Linux >  >> Linux

Limitar usuario para ejecutar comandos selectivos (Linux)

Usted podría estar yendo en esto de la manera incorrecta. En lugar de darle a un usuario un shell bash 'restringido', solo debe darle acceso a los comandos que necesitaría para ejecutar como root. Por ejemplo, en su archivo sudoers:

tomc ALL=(root) /usr/bin/vim /etc/myapp.conf
tomc ALL=(root) /usr/bin/less /var/log/myapp/*.log

Tenga cuidado al permitir que los usuarios ejecuten vim como root. Vim tiene muchas funciones integradas, como escapes al shell y la capacidad de ejecutar comandos desde dentro de vim. Dependiendo de su distribución, es posible que tenga sudoedit disponible. Esto funciona igual que un Vim normal, excepto que está diseñado para manejar escapes de shell y demás.


En mi Synology Diskstation que ejecuta DSM 6, solo los usuarios administradores pueden usar ssh de manera constante (los usuarios que no son administradores tienen shell como /sbin/nologin en /etc/passwd; puede configurar esto en /bin/sh para permitir ssh temporalmente, pero al reiniciar el archivo /etc/passwd se restablece). Por esta razón, se necesita algún tipo de restricción de sudo para una cuenta que, de lo contrario, existe solo para ejecutar, p. /sbin/apagar. Las siguientes líneas en /etc/sudoers me funcionaron:

# Allow guestx user to remote poweroff
guestx ALL=(ALL) !ALL
guestx ALL=NOPASSWD: /sbin/poweroff

Traducción:no permita todos los comandos, luego permita solo el comando deseado (sin pedir contraseña en este caso).

Con esta configuración, sudo solicita la contraseña y luego falla con los comandos que no están en la lista blanca:

[email protected]:~$ sudo su -
Password: 
Sorry, user guestx is not allowed to execute '/bin/su -' as root on ds.
[email protected]:~$ 

Linux
  1. 20 comandos esenciales de Linux para cada usuario

  2. 10 comandos que todo usuario de Linux debe conocer

  3. Comprender las diferentes clasificaciones de los comandos de Shell y su uso en Linux

  4. Aprenda la diferencia entre los comandos "su" y "su -" en Linux

  5. 4 formas de deshabilitar la cuenta raíz en Linux

Cómo limitar el acceso del usuario al sistema Linux

Ejecutar comandos en sistemas Linux remotos a través de SSH

Cómo enumerar todos los usuarios en Linux

5 comandos de Linux que todo usuario de Linux debe conocer

Linux – Agregar usuario a la lista de Sudoers

Cómo limitar el usuario root en CentOS