разрешить всем пользователям выполнять bash-скрипт как root

разрешить всем пользователям выполнять bash-скрипт как root

Я хочу, чтобы все мои пользователи могли запускать скрипт bash. Но этот скрипт bash должен иметь права root, я хочу, чтобы этот скрипт был только для чтения и запускался с правами root

мой bash-скрипт:

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

В своем поиске я нашел решение, но оно не работает, вот решение:

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

но у меня возникает эта ошибка при запуске с правами базового пользователя: swapoff: Не суперпользователя.

решение1

Создание скрипта su root bash опасно. Скрипт bash слишком легко манипулировать способами, которые вы не ожидаете использовать для запуска других команд. Каждый новый исполняемый файл su root представляет собой новый риск безопасности.

Предпочтительный способ предоставления таких прав — с помощью sudo. Создайте файл /etc/sudoers.d/swapoff, как показано ниже:

ALL ALL = /bin/swapoff -a

Затем все пользователи (первый ВСЕ) на всех хостах (второй ВСЕ) могут запустить sudo /bin/swapoff -a. И каждый раз, когда они это делают, это будет регистрироваться в syslog.

Связанный контент