невозможно передать пароль su - PullRequest
0 голосов
/ 17 июля 2011

У меня есть скрипт bash, который требует запуска нескольких команд под другим пользователем.Я хотел бы сделать это с помощью su, но я не могу автоматически выполнить su без запроса пароля.

Пользователь, запускающий сценарий, будет иметь apache in centos (поэтому не является реальной учетной записью пользователя, например, вы не можете использовать su apacheи получите приглашение под пользователем apache).

Таким образом, я не думаю, что что-то вроде ожидаемого будет работать.Я также не могу ssh из apache в другую учетную запись localhost с помощью ключей ssh.

Есть ли способ достичь моей цели?Пароли с жестким кодом приемлемы для меня.

1 Ответ

3 голосов
/ 17 июля 2011

Это то, для чего был построен sudo - мелкозернистое повышение разрешений.Если вы добавляете сценарий как что-то, что apache может запускать с помощью sudo (в файле /etc/sudoers), вы можете предоставить ограниченное повышение разрешений.

Однако требование чего-либо, вызываемого пользователем apache, очень и очень опасно.Это может быстро превратить ограниченный локальный эксплойт в корневой эксплойт.Будьте очень осторожны при очистке входных данных, понимайте, как оболочки расширяют переменные и т. Д.

...