On 19/12/10 16:21, Rodolfo kix Garcia wrote:
El 19/12/10
20:24, Daniel Echeverry escribió:
Hola listeros..
Actualmente, estoy trabajando en la debianizacion de una aplicacion
php bajo consola (php-cli), dicha aplicacion, se instala en
/usr/share/, y un archivo de configuracion (usado para una conexion
con una bd) se instala en /etc.
Sin embargo, al querer utilizar la aplicacion, debo tener permisos de
root, debido a que, la aplicacion hace un include al archivo de
configuracion que se encuentra en /etc y este archivo es propiedad
del root.
Mi inquietud, consiste en saber si hay algun problema en que la
aplicacion requiera ser root para poder usarla? o si debo instalar el
archivo de configuracion en otra parte? o si puedo hacer en el postins
un chown al archivo de configuracion de tal forma que lo pueda usar el
usuario normal?
Hola Daniel,
en mi opinión (y no conozco la aplicación que estas debianizando), creo
que deberías darle una vuelta al tema del fichero de configuración. Has
de pensar en Linux como un sistema multiusuario (no digo que no lo
hagas, digo especialmente en este caso) y que por lo tanto varios
usuarios pueden querer ejecutar la aplicación. De ahí sale el problema
de que si la contraseña sólo la puede saber uno, entonces /etc no sería
buen sitio para guardarla, sino un fichero en el directorio de cada
usuario.
Si por el contario, todos se deben conectar a la misma base de datos,
entonces el fichero puede estar en /etc, pero tienes otro problema, ya
que el fichero de configuración debe tener permisos de lectura para
todos (o mediante un grupo, etc), y por tanto todos (o los del grupo)
podrán ver la contraseña (sino, la aplicación no podrá leerla)
La idea es que todos los usuarios usen la misma base de datos, por eso
habia pensando en asignarle permisos de lectura para todos al archivo
de configuracion.
Si sólo el usuario root puede ejecutar la aplicación, entonces la
aplicación no tiene buena pinta.
Tienes razon en eso.
Supongo que la idea del fichero de configuración en $HOME evitaría
estos problemas.
Esta podria ser una solucion, sin embargo, habia pensando en si hay
algun problema en dejar el archivo de configuracion en /usr/share,
tambien? creo que de esta forma me evitaria este inconveniente. (aunque
no se si, sea permitido hacer esto).
Por último, puedes implementar otro sistema que lea la contraseña sin
hacer un include, sino abriendo el fichero y leyendo la contraseña.
Si no es posible, realizar la solucion de /usr/share, tendre en cuenta
esta sugerencia.
En conclusion tengo 3 opciones.
- Dejar el archivo de configuracion en /etc y asignarle permisos de
lectura a todos los usuarios.
- Instalar el archivo de configuracion en /usr/share
- Usar otro sistema de leer la contraseña sin usar el include.
Cual crees que es la mejor opcion?
Espero que te sirva de ayuda.
Un saludo.
Muchas gracias por la respuesta!
Un saludo
|