¿Permiso en Shell pero no desde el programa generado aunque el usuario y el grupo sean iguales?

¿Permiso en Shell pero no desde el programa generado aunque el usuario y el grupo sean iguales?

Tengo prueba de usuario y grupo: prueba

Cuando estoy en el Shell conectado como prueba, puedo hacerlo git pull origin mastery npm installfunciona.

También tengo un script cgi que se llama desde Caddy (un servidor web). hace la misma cosacomo el mismo usuariopero aún así recibe errores de permiso.

¿Cómo depuro esto? ¿Qué comandos me mostrarán por qué obtengo permiso cuando estoy en el shell pero no cuando ejecuto desde un script generado?

Los errores en el guión son

Could not create directory '/home/test/.ssh'.

/home/test/.sshya existe y ya tiene claves, etc. Funcionan bien desde el shell

para npm obtiene estos errores

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'

Pero una vez más, al ejecutar desde el shell no se producen errores.

Agregué idal script para poder ver con qué usuario se ejecuta el script. se imprime

uid=1000(test) gid=1000(test) groups=1000(test),27(sudo)

Que es exactamente lo mismo que imprime cuando escribo iden el shell

¿Qué más debería buscar?

Respuesta1

El problema era que caddy se ejecuta desde systemd y estaba configurado en

ProtectHome=true 

lo que significa /home/testque está fuera del alcance del script generado. No estoy seguro de cuál es la solución correcta, pero al menos localicé el origen del problema.

información relacionada