1

У меня есть приложение, которое должно работать с правами root.

Использование бита setuid в файле приложения кажется логичным выбором. Насколько я понимаю, setuid состоит в том, что файлы должны принадлежать пользователю root и быть доступными для записи только пользователю root, в противном случае недоверенный пользователь с разрешениями на запись может редактировать файл и выполнять что-либо в контексте root.

Однако это усложняет развертывание приложения, так как мне нужно установить владельца файла как root после его развертывания (удаленного из удаленного репозитория Git), что-то вроде:

 sudo chown root:root /app/rootprog
 sudo chmod 6711 /app/rootprog

Есть ли способ избежать этого или лучший способ разработки и развертывания приложения, которое должно запускаться от имени пользователя root?

1 ответ1

1

Приложение, которое должно запускаться от имени пользователя root, должно быть установлено администратором с правами доступа root. Это может быть сделано с использованием повышения привилегий (например, с помощью sudo или аналогичного).

Лучший способ развертывания приложения зависит от нескольких факторов, но, вероятно, лучше всего это сделать с помощью основного менеджера пакетов дистрибутива. Это может означать предоставление файла RPM для загрузки или добавление пакета в доступный из Интернета репозиторий.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .