permitir que todos os usuários executem um script bash como root

permitir que todos os usuários executem um script bash como root

quero que todos os meus usuários possam executar um script bash. Mas esse script bash precisa ter root certo, quero que esse script seja somente leitura e seja executado com root certo

meu script bash:

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

na minha pesquisa encontrei solução mas não funcionou, esta é a solução:

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

mas recebo este erro quando executo com usuário básico: swapoff: Not superuser.

Responder1

Criar um script bash su root é perigoso. Um script bash é muito fácil de manipular de maneiras que você não espera executar outros comandos. Cada novo executável su root é um novo risco de segurança.

A forma preferida de conceder direitos como este é com o sudo. Crie um arquivo /etc/sudoers.d/swapoff, como segue:

ALL ALL = /bin/swapoff -a

Então todos os usuários (o primeiro ALL) em todos os hosts (2º ALL) poderão executar o sudo /bin/swapoff -a. E cada vez que fizerem isso, será registrado no syslog.

informação relacionada