Foros del Web » Programando para Internet » PHP »

Duda sobre los permisos en archivos

Estas en el tema de Duda sobre los permisos en archivos en el foro de PHP en Foros del Web. Hola a todos: Estoy montando en estos momentos unos archivos a la pagina de mi cliente y me gustaria controlar la manera en que un ...
  #1 (permalink)  
Antiguo 29/08/2011, 18:48
Avatar de cuasatar  
Fecha de Ingreso: junio-2011
Ubicación: Bogotá Rock City
Mensajes: 1.230
Antigüedad: 11 años, 5 meses
Puntos: 181
Duda sobre los permisos en archivos

Hola a todos:

Estoy montando en estos momentos unos archivos a la pagina de mi cliente y me gustaria controlar la manera en que un usuario puede descargar estos archivos o realizar cambios en ellos. Como he trabajado un poco la cuestión de los permisos en linux entiendo más o menos la gestión de permisos pero de manera muy básica. Mi pregunta es ¿Como se puede o se deben otorgar los permisos en los archivos para evitar que terceras personas puedan descargar o ver este contenido? (es decir que solo se pueda hacer a través de una sesión de ftp de manera segura) No me queda aun muy claro los permisos de lectura, escritura y ejecución para los diferentes tipos de usuarios. Si alguien me diera una explicación básica o me diera un lugar donde pueda saber la diferencia les agradeceria enormemente.

Gracias de antemano por su colaboración.
  #2 (permalink)  
Antiguo 30/08/2011, 02:52
Avatar de vgonga1986  
Fecha de Ingreso: marzo-2008
Ubicación: País de Pandereta
Mensajes: 1.021
Antigüedad: 14 años, 8 meses
Puntos: 253
Respuesta: Duda sobre los permisos en archivos

Buenas,

Es la primera vez que veo una pregunta así en este foro. Creo que te estás confundiendo, si lo que tienes es una aplicación web y quieres dar permisos a según qué usuarios a descargar los ficheros que hay en dicha aplicación, no es tema de los permisos que tengan los ficheros, sino del sistema de usuarios que tengas en tu web. Es decir, de los permisos de los usuarios que tengas asignados en tu propia aplicación.

Los permisos de linux son para restringir en local en el ordenador en el que residen los ficheros (en este caso, en el servidor) y dichos permisos te van a valer únicamente para los usuarios o grupos de usuarios que estén registrados en el ordenador, no en tu aplicación web.

No sé si me explico. O tú estás muy equivocado o yo no sé qué pretendes.

Un saludo.
__________________
¿Alguna pregunta, duda, acotación, nota, cuestión, reparo, comentario, demanda, crítica, interpretación, objeción, interrogante, discrepancia, observación, réplica, disquisición, apostilla o exégesis?
  #3 (permalink)  
Antiguo 30/08/2011, 08:05
Avatar de cuasatar  
Fecha de Ingreso: junio-2011
Ubicación: Bogotá Rock City
Mensajes: 1.230
Antigüedad: 11 años, 5 meses
Puntos: 181
Respuesta: Duda sobre los permisos en archivos

Gracias vgonga1986 por tu respuesta. Pues se que la pregunta suena rara y ya con la aclaración que me has dado quisiera complementar un poco mi pregunta. Yo pensaba que a través de la gestión de permisos de los archivos uno podía controlar los derechos que tienen los usuarios del sistema para utilizarlo tal y como se hace en linux. Mejor dicho una especie de combinación entre los permisos que le das al usuario a traves de la creación con grant (es decir hacer consultas, crear tablas, actualizar datos, etc) y con la gestión de permisos realizar ciertas limitaciones (por ejemplo que ciertos usuarios no puedan leer un archivo o descargar fotos de usuarios que no sean sus amigos en una red social, solo es un ejemplo).

Cita:
Los permisos de linux son para restringir en local en el ordenador en el que residen los ficheros (en este caso, en el servidor) y dichos permisos te van a valer únicamente para los usuarios o grupos de usuarios que estén registrados en el ordenador, no en tu aplicación web.
Con esa aclaración que haces ya me queda un poco mas claro. Como en la gestión de permisos existe tres tipos de usuario (propietario, grupo y los demas) ¿como se hace para definir esto cuando se crea un usuario con grant? Como ven no tengo mucha información del tema y necesito un lugar donde pueda a empezar a leer una explicación mas clara sobre la creación de usuarios y todas sus variables. (que por lo menos en phpmyadmin he visto que son bastantes).

No se si con esta aclaración ya esta mas claro el tema o aun estoy medio perdido. Espero haber sido claro, de antemano gracias por la atención.
  #4 (permalink)  
Antiguo 30/08/2011, 08:41
Avatar de vgonga1986  
Fecha de Ingreso: marzo-2008
Ubicación: País de Pandereta
Mensajes: 1.021
Antigüedad: 14 años, 8 meses
Puntos: 253
Respuesta: Duda sobre los permisos en archivos

Creo que tienes que redirigir la idea que tienes sobre un sistema de usuarios en una aplicación web.

De nuevo te veo perdido, GRANT es únicamente para asignar permisos a los usuarios de una base de datos, que no se van a corresponder con los usuarios de tu aplicación web. Luego tampoco te vale para lo que quieres conseguir. Con grant puedes dar a los usuarios permiso para hacer consultas SELECT, insertar datos con INSERT, actualizar con UPDATE, crear objetos (PRODECURE, TABLE, FUNCTION...) y más operaciones de este tipo, pero son permisos sobre la base de datos, es decir tratan operaciones que un usuario podrá realizar contra una base de datos, no contra su contenido. Normalmente, una aplicación web tiene un único usuario de la base de datos, que es el que utiliza para realizar todas estas operaciones (las que necesite, no siempre son todas). Pero esto es transparente al usuario.

Lo que tú buscas, por el ejemplo que me pones de descargar fotos de usuarios que no sean amigos, es restringir las acciones sobre el contenido de los usuarios de tu aplicación web. Esto es mucho más concreto que los permisos Unix de ficheros o los permisos (con GRANT) de la base de datos. No es algo que tengas que controlar con las herramientas que tienes en servidor y base de datos respectivamente, sino que tienes que crear tú la lógica para ello, con programación PHP.

Cómo lo hagas es cosa tuya, hay miles de formas, pueden ser más o menos complejas, má so menos completas, más o menos generales... Como tú quieras, porque lo decides tú. Si lo quieres hacer bien, seguramente tendrás que mirar algún manual o algún sistema de gestión de usuarios que ya exista y copiar un poco la idea, adaptándola a tu aplicación. Si no necesitas tanta seguridad, muchas veces vale con añadir un par de conceptos a tu lista de usuarios. Todo depende de lo que necesites.

Básicamente, lo que tendrás que hacer será plantear qué sistema de usuarios quieres tener y añadirlo a la funcionalidad de tu base de datos. Por ejemplo, una forma muy utilizada es la de hacer grupos de usuarios (Alias, Círculos... como quieras llamarlo) y asignar los permisos a los grupos en vez de a los usuarios directamente. Luego cada usuario lo mandas al grupo que le corresponda. Esto en la base de datos se debe reflejar con un par de tablas:
- Usuario: con todos los datos necesarios de usuarios.
- Permiso: una lista de todos los permisos que existen, se entiende por permiso una acción que podrá o no realizar un usuario. Por ejemplo, "subir ficheros", "descargar contenidos", "añadir comentarios", "añadir artículos"...
- Grupo: una lista de todos los grupos de usuarios, los que tú quieras. Por ejemplo: Administradores de página, Administradores de artículos, Usuarios, Moderadores...
- GrupoPermiso: sería una tabla cruzada que diga qué permiso de la tabla Permiso tiene cada grupo de la tabla Grupo.
- GrupoUsuario: igual que la anterior, pero relacionando los usuarios con los grupos a los que pertenece.

Con esta estructura en la base de datos y un buen control dentro de la aplicaicón con PHP puedes hacer practicamente cualquier cosa. Esto es lo más general que se me ha ocurrido, pero si no necesitas tanto, puedes empezar a simplificarlo.

Un saludo y espero que te sirva la explicación.
__________________
¿Alguna pregunta, duda, acotación, nota, cuestión, reparo, comentario, demanda, crítica, interpretación, objeción, interrogante, discrepancia, observación, réplica, disquisición, apostilla o exégesis?
  #5 (permalink)  
Antiguo 30/08/2011, 09:07
Avatar de cuasatar  
Fecha de Ingreso: junio-2011
Ubicación: Bogotá Rock City
Mensajes: 1.230
Antigüedad: 11 años, 5 meses
Puntos: 181
Respuesta: Duda sobre los permisos en archivos

Hola, de verdad agradezco la colaboración prestada en este tema. Como puedes ver es la primera vez que me toca enfrentarme a un problema así y tenía enredado los conceptos y no sabía muy bien como empezar. La idea que propones me parece muy bien y empezare a trabajarla para ir creando poco a poco los usuarios (mejor dicho ya los tengo creados) y crear sus respectivos permisos (que eso es lo que tengo que empezar a gestionar, la web que estoy diseñando empezó como una idea muy pequeña y como dicen por ahi se me ha ido creciendo el enano).

También aprovecho para agradecer tus colaboraciones en general, porque con las dudas que he preguntado a lo largo de mi estancia en estos foros mas las respuestas que he leido que tu le explicas a otros he logrado aprender bastante y sobretodo afianzar conceptos.
  #6 (permalink)  
Antiguo 30/08/2011, 10:11
Avatar de vgonga1986  
Fecha de Ingreso: marzo-2008
Ubicación: País de Pandereta
Mensajes: 1.021
Antigüedad: 14 años, 8 meses
Puntos: 253
Respuesta: Duda sobre los permisos en archivos

Nada, hombre.

Me alegro que las parrafadas que pongo por aquí le sirvan a alguien de vez en cuando.

Un saludo y suerte con la aplicación, para lo que quieras ya sabes dónde estamos los foreros.
__________________
¿Alguna pregunta, duda, acotación, nota, cuestión, reparo, comentario, demanda, crítica, interpretación, objeción, interrogante, discrepancia, observación, réplica, disquisición, apostilla o exégesis?

Etiquetas: permisos, usuarios
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:45.