На моем ноутбуке Ubuntu 14.04 я создаю файл ~/test.js
с единственным содержимым console.log("Hi, this is Dog.")
. Я запускаю сценарий node test.js
(узел v6.9.5), и получаю желаемый результат Hi, this is Dog.
Сценарий запуска узла с конкретным пользователем
Затем я пытаюсь запустить скрипт как www-data
. Так я бегу:
sudo -u www-data /usr/bin/node /home/me/test.js
и ...
Error: Cannot find module '/home/me/test.js'
Что я делаю неправильно?
Я попытался с относительными и абсолютными путями,
sudo -u www-data sh -c "/usr/bin/node /home/me/test.js"
изменили оболочку для www-data
в /etc/passwd
к /bin/bash
и /bin/sh
, и все комбинации этих идей. Такая же ошибка. Есть идеи?
Лучше удалите теги Ubuntu, Linux и Node.js, так как ваш вопрос, по-видимому, в основном касается прав доступа к файлам, что не относится ни к одному из этих тегов. – Montmons
Я чувствую, что это может быть что-то связанное с $ PATH или $ NODE_PATH или что-то в этом роде. Вот почему я, хотя эти теги имели смысл. –
О, я вижу сейчас. – Montmons