
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.