Если бы это был обычный двоичный файл, вы могли бы установить setuid, запустив
# chmod u+s /path/to/binary
К сожалению, сценарии не могут быть установлены. (Ну, вы можете, но это игнорируется). Причина этого заключается в том, что первая строка скрипта сообщает ОС, под каким интерпретатором будет запускаться скрипт. Например, если у вас был скрипт с:
#!/bin/bash
Вы на самом деле в конечном итоге работает
/bin/bash /path/to/script
Очевидно, что вам понадобится установить интерпретатор, что будет означать, что все сценарии будут настроены. Это было бы плохо.
Вы можете сделать это с помощью sudo, поместив в файл / etc / sudoers следующую команду, запустив visudo.
ALL ALL=NOPASSWD: /path/to/script
И теперь любой пользователь может запустить
$ sudo /path/to/script
Это позволяет им запускать скрипт без ввода пароля.
Существует альтернатива, которая не требует sudo в команде, которая требует создания небольшого двоичного файла с установленным кодом, который исполняет ваш сценарий, но каждый дополнительный двоичный файл с установленным кодом добавляет еще одну потенциальную проблему безопасности.