Имею root-доступ.
Как я могу позволить обычному пользователю с небольшими правами запускать двоичный файл от имени пользователя root без пароля?
Я попытался дать ему root: wheel с помощью chown, но это не позволяло обычному пользователю делать то, что я хотел.
chown
меняет владельца, это не запускает двоичный файл от имени владельца файла. chmod u+s
Однако сделаю это. chmod g+s
также запустит двоичный файл с разрешением группы файлов в некоторых системах (вы не указываете, какую систему вы используете). Эти флаги по-разному влияют на другие файлы и особенно папки. Вы должны внимательно присмотреться к man chmod
и man chown
перед погружением.
Также вам следует серьезно подумать об использовании sudo
вместо того, чтобы делать двоичный suid. Когда двоичный файл является suid, любой, у кого есть доступ к двоичному файлу, может запустить его как владелец файла. Если вы случайно дадите обычному пользователю права на запись в двоичный файл, он может заменить его чем угодно и запустить от имени пользователя root. sudo
решает эти проблемы с безопасностью за счет того, что пользователю требуется добавить sudo
к командам, которые они хотят запускать как root. Вам также необходимо настроить файл sodoers с соответствующими разрешениями.
Бегать :-visudo
(Чтобы отредактировать файл конфигурации): -
Затем отредактируйте файл конфигурации, то есть файл sudoers: - USERNAME ALL = NOPASSWD: /path/to/binaryfile
.
Сохраните файл, затем вы можете запустить двоичный файл, не запрашивая пароль, запустив: -
sudo "command to run binary file
".