У меня есть пользовательский и групповой тест: тест
Когда я нахожусь в оболочке, вошедшей в систему в качестве теста, я могу сделать git pull origin master
и npm install
и это работает.
У меня также есть скрипт cgi, который вызывается из Caddy (веб-сервер). Он делает то же самое, что и тот же пользователь, но все же получает ошибки разрешения.
Как мне отладить это. Какие команды покажут мне, почему я получаю разрешение, когда в оболочке, а не при запуске из порожденного скрипта?
Ошибки в скрипте
Could not create directory '/home/test/.ssh'.
/home/test/.ssh
уже существует и уже имеет ключи и т. д. Они отлично работают из оболочки
для нпм он получает эти ошибки
npm ERR! Linux 4.4.0-87-generic
npm ERR! argv "/usr/bin/nodejs" "/usr/bin/npm" "install"
npm ERR! node v6.11.2
npm ERR! npm v3.10.10
npm ERR! path /home/test/.npm/_locks
npm ERR! code EACCES
npm ERR! errno -13
npm ERR! syscall mkdir
npm ERR! Error: EACCES: permission denied, mkdir '/home/test/.npm/_locks'
Но опять же, запуск из оболочки без ошибок.
Я добавил id
в скрипт, чтобы я мог видеть, от какого пользователя запущен скрипт. Это печатает
uid=1000(test) gid=1000(test) groups=1000(test),27(sudo)
Это то же самое, что печатается, когда я набираю id
в оболочке
Что еще я должен искать?