любой пользователь может изменить uid / gid с помощью setuid () / setgid? - PullRequest
0 голосов
/ 23 сентября 2010

или только root может?Я хочу изменить uid / gid не-root от .sh скрипта, вызвав setuid / setgid.Возможно ли это?

Ответы [ 2 ]

0 голосов
/ 27 сентября 2010

Нет доступных команд 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)

0 голосов
/ 23 сентября 2010

по умолчанию, только root может использовать setuid / setgid.возможно с selinux или что-то в этом роде.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...