Выскочка - не могущий считать/etc/shadow, если sudo

В следующем сценарии в Выскочке я не могу читать /etc/shadow в фазе предписания, если я не использую $(echo mypass | sudo -S cat /etc/shadow | grep myusername)

Сценарий хорошо работает, если я обеспечиваю мой sudo передача, но я задаюсь вопросом, существует ли способ сделать это, не имея необходимость писать мою передачу в conf файл?

# node-example.conf
description     "Starting Node with Upstart and Forever"

start on filesystem or runlevel [2345]

stop on runlevel [06]

expect fork

respawn 

respawn limit 5 30

console output

setuid myusername

env HOME=/home/myusername

env ARGS_FILE=/etc/shadow

. /etc/shadow

script

cd $HOME

exec forever start -a -l /tmp/forever.log -o /tmp/forever.stdout.log -e /tmp/forever.stderr.log --watch --watchDirectory /home/myusername/myapp/server /home/myusername/myapp/server/server.js

end script

pre-start script

ori='myusername:$6$P...'

**# cur=$(echo mypass | sudo -S cat /etc/shadow | grep myusername) -> this works**

**cur=$(cat $ARGS_FILE | grep myusername) -> this doesn't work**

if [ "$ori" = "$cur" ]

then encfs code

else rm -rf somefile

fi

end script
2
задан 1 November 2014 в 17:54

0 ответов

Другие вопросы по тегам:

Похожие вопросы: