Eu tenho teste de usuário e grupo: teste
Quando estou no shell logado como teste, posso fazer git pull origin master
e npm install
e funciona.
Eu também tenho um script cgi que é chamado de Caddy (um servidor web). Ele faz a mesma coisa como o mesmo usuário , mas ainda recebe erros de permissão.
Como eu depuro isso. Que comandos me mostrarão por que estou recebendo permissão quando estiver no shell, mas não quando estiver executando um script gerado?
Os erros no script são
Could not create directory '/home/test/.ssh'.
/home/test/.ssh
já existe e já tem chaves, etc. Elas funcionam bem no shell
para o npm ele recebe esses erros
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'
Mas, mais uma vez, executar a partir do shell sem erros.
Eu adicionei id
ao script para que eu possa ver com qual usuário o script está sendo executado. Imprime
uid=1000(test) gid=1000(test) groups=1000(test),27(sudo)
Qual é exatamente a mesma coisa que imprime quando digito id
no shell
O que mais eu devo procurar?