
Tengo un programa que será utilizado por dos usuarios. Guarda sus datos en $HOME. ¿Es posible compartir los archivos de configuración (o sólo uno de ellos, la base de datos) entre dos usuarios?
Mi idea era un enlace simbólico. Sin embargo, los archivos de configuración tienen permisos 0644, por lo que solo un enlace simbólico no será una solución. Si usar un enlace simbólico es la mejor solución, ¿cuál es la configuración de permisos óptima, para que solo estos dos usuarios puedan tener acceso de escritura a los archivos de configuración?
Estoy usando Linux Mint 17 (derivado de Ubuntu)
Respuesta1
Haga el modo de archivo 0664
y luego chgrp
el archivo a un grupo que contenga a ambos usuarios. Si no existe tal grupo, tendrá que crear uno (con groupadd
) y luego agregarle los usuarios ( usermod --append --groups
) antes de cerrar la sesión de cada usuario y volver a iniciarla.
Respuesta2
Si bien puede ser técnicamente posible hacer esto, hay que considerar las implicaciones.
¿Qué sucede si user A
inicia sesión y usa la aplicación y luego user B
inicia sesión y comienza a usar la aplicación? Si ambos cambian algo en la aplicación que debe escribirse en la base de datos, ¿cuál tiene prioridad?
Lo más probable es que si la aplicación no está diseñada para esto, ambos intentarán escribir en la base de datos y corromperla y luego terminarás en una situación en la que nadie pueda acceder a ella. O, en el mejor de los casos, uno "ganará" y el trabajo del otro usuario se perderá.
Entonces, la conclusión es: verifique si la aplicación está diseñada para esto. De lo contrario, corre el riesgo de corromper o perder algo.