Нет доступных команд setuid или setgid для sh (1) , оболочки Bourne. На самом деле setuid (2) и setgid () являются системными вызовами, доступными только на языках программирования, таких как C или Perl (и практически в любом коде, кроме сценариев оболочки). Даже когда они доступны, вызовы имеют ограниченную полезность при вызове от имени пользователя без полномочий root. Эти вызовы не дают никаких привилегий, которые еще не доступны для реального пользователя.
Есть также файловые режимы setuid ( setuid bit set) или setgid (имеется в виду setgid bit set); но это только для двоичных исполняемых файлов, но не (обычно) для скриптов sh *.
Чтобы обычные пользователи могли запускать команду от имени другого пользователя без повторного ввода пароля, даже из сценария, используйте команду sudo (8) . Sudo требует настройки системным администратором.
Есть и другие способы действовать как другой пользователь; но все они включают вызов внешнего исполняемого файла, который был благословлен (был установлен setuid bit установлен) суперпользователем, или с помощью процесса какого-то другого пользователя, выполняющего задачу.
См. Также
sudo (8) Команда sudo
setuid (2) Системный вызов setuid
бит setuid Режим доступа
* Setuid на скриптах оболочки
Как мне заставить работать скрипты оболочки setuid?
Связанные команды
sh (1) , sg (1) , su (1)