Как выполнить и войти как конкретный пользователь? - PullRequest
0 голосов
/ 18 ноября 2018

Мне нужно запустить команду / shell-скрипт как у другого пользователя.Stdout должен быть записан в лог-файл.

Я попробовал это так:

export LOGDIR=foo/bar
sudo -u www command /home/www > /home/www/$LOGDIR/command.log

Но я всегда получаю эту ошибку:

-bash: /home/www/foo/bar/command.log: Permission denied

Вы можете попробовать это легко с этим маленьким глупым примером:

sudo -u edeviser ls /home/edeviser > /home/edeviser/$LOGDIR/ls.log

Я вижу проблему в том, что перенаправление с > не выполняется как пользователь, указанный в опции ´-u´.

Как выполнить команду ивойти как тот же конкретный пользователь?

Ответы [ 2 ]

0 голосов
/ 18 ноября 2018
export logdir="foo/bar"
sudo -u www command /home/www |sudo -u www dd of="/home/www/$logdir/command.log"
0 голосов
/ 18 ноября 2018

Вы можете попробовать что-то вроде

sudo -u www bash -c "command /home/www > /home/www/$LOGDIR/command.log"
...