Доброго времени суток!
Выполняя команду:
echo PASSWORD | su /bin/somecommand -l some_sudouser
от любого не sudo-пользователя команда:
su /bin/somecommand
будет выполнена от пользователя
some_sudouser
и система, естественно, запросит ввести пароль от пользователя
some_sudouser
, в случае ввода которого команда
su /bin/somecommand
выполняется.
Если выполнять команду так:
echo PASSWORD | su /bin/somecommand -l some_sudouser
то выводится ошибка:
su: must be run from a terminal
Мне необходимо выполнять команды из под sudo, прикидываясь другим пользователем, пароль которого должен вводить или пользователь или php скрипт посредством функции shell_exec(). Подскажите как быть?
php и апач работают из-под пользователя www-data, но www-data-пользователю не хочется выдавать привилегии через /etc/sudoers, т.к. этот же апач обслуживает хостинг сайтов и не очень хорошо будет, если у пользователей будет хотябы потенциальная возможность выполнить определенные команды с рутовым доступом скриптом php, поэтому принципиально интересует вопрос ввода пароля, точнее имитации ввода пароля из скрипта на php.
Гугл скупится на подобную информацию :((
Куда копать? Заранее спасибо!