On Thu, Aug 08, 2019 at 06:26:04PM +0300, Dmitry Alexandrov wrote: > "S.Kholodny" <s.kholo...@protonmail.com> wrote: > > Как настроить команду так, чтобы весь код скрипта проходил через обычного > > пользователя, и только sudo - от рута? > > Вы хотите вызывать sudo(8) в своей программе? Так не делается, делается > наоброт: программа запускается со всеми ей необходимыми правами, а затем они > прозрачно для запускающего _сбрасываются_ до минимально нужных.
Часто бывает нужно в скрипте какие-то действия выполнять под обычным пользователем, а какие-то под рутом, причём всё это, что важно, чередуется. Если же права один раз сбросить, вернуть их обратно уже крайне сложно. Вызовы sudo в таком случае -- самое правильное решение. При таком подходе скрипт может писать любой юзер, не думающий о безопасности, а ограничения (через правила sudo) накладываются на отдельные критичные операции. И что важно, формализует эти ограничения сисадмин, который обычно лучше юзера разбирается в вопросах безопасности. -- Eugene Berdnikov