permitir que todos los usuarios ejecuten un script bash como root

permitir que todos los usuarios ejecuten un script bash como root

Quiero que todos mis usuarios puedan ejecutar un script bash. Pero este script bash necesita tener derecho de root, quiero que este script sea de solo lectura y se ejecute con derecho de root

mi script bash:

#!/bin/bash
/sbin/swapoff -a

en mi búsqueda encontré una solución pero no funciona, esta es la solución:

# chown root:root monshell.sh
# chmod 4755 monshell.sh
# exit
$ ./monshell.sh

pero tengo este error cuando ejecuto con el usuario básico: swapoff: No superusuario.

Respuesta1

Crear un script su root bash es peligroso. Un script bash es demasiado fácil de manipular de maneras que no esperas ejecutar otros comandos. Cada nuevo ejecutable de su root es un nuevo riesgo de seguridad.

La forma preferida de otorgar derechos como este es con sudo. Cree un archivo /etc/sudoers.d/swapoff, de la siguiente manera:

ALL ALL = /bin/swapoff -a

Entonces todos los usuarios (el primer TODOS) en todos los hosts (el segundo TODOS) podrán ejecutar sudo /bin/swapoff -a. Y cada vez que hagan eso, se registrará en syslog.

información relacionada