
Tengo un servidor Ubuntu 12.04 que ejecuta una aplicación Python. La aplicación se inicia manualmente tmux
o automáticamente cuando se inicia el servidor.
La aplicación procesa solicitudes http de clientes Android. Guarda algunos datos en el disco duro:
os.mkdir(directory_path)
with open(file_name, "w") as f:
f.write(text)
La aplicación envió excepciones al chat de Telegram:
OSError: [Errno 13] Permission denied: '/home/username/Desktop'
Con una conexión ssh activa, todo funciona bien. Después de cerrar la terminal ssh del cliente, recibo muchos errores de "Permiso denegado" en el registro del servidor al intentar crear un archivo o directorio. Después de conectarse con ssh (solo conectarse, sin ejecutar ningún comando), todo vuelve a funcionar bien y la aplicación crea nuevos archivos o carpetas.
- ¿Sucede esto cuando el servidor inicia el programa y no en una sesión tmux? Sí. El problema aparece en ambos casos.
-- ¿La conexión a la máquina vuelve a conectar automáticamente la sesión tmux? No. La conexión a tmux es manual (tmux a). La aplicación funciona bien después de la conexión ssh al servidor. No es necesario adjuntar tmux.
¿Cómo puede la conexión ssh afectar un proceso de aplicación en ejecución o los derechos de acceso al sistema?
Respuesta1
El cifrado de directorios de inicio predeterminado en Ubuntu funciona de manera que el directorio se descifra cuando abre la sesión (PAM) y se vuelve a cifrar cuando se cierra la sesión. Esto no es ideal para usos de servidor si necesita servir/almacenar algunos datos de ese usuario.
Puede almacenar los datos en otro lugar (la solución más sencilla :)) o desactivar el cifrado. Si ninguna de ellas es una opción, proporcione más detalles sobre lo que necesita lograr.
También puede haber una forma de preservar la sesión (no lo descubrí), por lo que no cifrará el directorio, pero probablemente no haya ninguna razón para tener el cifrado. :)