Я уверен, что на этот вопрос был дан ответ раньше, но я не могу найти ответ, который мне нравится. Я хотел бы написать сценарий оболочки, который выполняет очень специфический скрипт как другой пользователь (я хочу, чтобы кто-нибудь мог начать postgres как пользователь postgres). Сценарий будет иметь 710 пермов, поэтому он будет исполняться определенной группой, но не доступен для чтения или записи этой группой.su без пароля в скрипте
Теперь я уверен, что нет возможности использовать «su» без приглашения интерактивного пароля. Для этого есть много веских причин, и мне не нужно быть уверенным в достоинствах этих причин (мне говорят, что кто-то более здраво, чем я, мог бы скрыть пароль из списка процессов, который плохой).
Вопрос, в более общем плане, как я мог бы выполнить то, что я хочу сделать, не злоупотребляя парадигмами безопасности unix? Есть ли способ разрешить пользователю выполнять очень специфический процесс в качестве другого пользователя?
Разве это не ограничивается изменением только эффективного uid, а не реального uid? Postgres может заботиться о разнице. – Celada
В этом случае я думаю, что sudo - правильный ответ. Демон для запуска и управления postgres уже существует. Мне просто нужно вызвать их из нужной учетной записи пользователя. Тем не менее, связанная нить - отличная дискуссия. Благодаря! – prauchfuss