Upstart - incapaz de ler / etc / shadow a menos que sudo

2

No seguinte script do Upstart, não consigo ler /etc/shadow na fase de pré-script, a menos que eu use $(echo mypass | sudo -S cat /etc/shadow | grep myusername)

O script funciona bem se eu fornecer meu sudo pass, mas estou querendo saber se existe uma maneira de fazer isso sem ter que escrever meu passe no arquivo 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:$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
    
por FlorinD 01.11.2014 / 15:23

0 respostas