В следующем сценарии в Выскочке я не могу читать /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