Espacios de Usuarios y Permisos

cancel
Showing results for 
Search instead for 
Did you mean: 
pjcaracuel_2349
Active Member

Espacios de Usuarios y Permisos

Buenas,

La verdad es que no es cosa mia, pero al verlo me ha interesado mucho y me gustaria abrir un post para que entre todos podamos estudiarlo.
Primero fue lou quien puso un post que quedo sin respuesta  :?
Creo un usuario 'xx' y le asigno como espacio personal "sucarpeta"; al gestionar los usuarios INVITADOS de esa carpeta encuentro lo siguiente:

"Gestionar usuarios del espacio 'sucarpeta'
El usuario 'xx' es el dueño corriente de este espacio. "

¿Si la carpeta la creó 'admin', porque aparece como dueño corriente el usuario en cuestión? El usuario aparece en el space 'invitado' con TODOS los permisos y, aunque elimine la invitación, los permisos sobre esa carpeta permanecen!!! ¿Qué hago mal?
Gracias

Luego Maria, se encontro con el mismo caso:

A mí me pasa los mismo y tampoco lo tengo claro del todo. Mis preguntas están en :

viewtopic.php?f=6&t=1404&st=0&sk=t&sd=a&start=20

Sospecho que en la creación de un usuario, cuando se rellenan los datos de sue "Espacio personal", cuando se elige la "Ubicación del espacio principal", le asigna por defecto a ese espacio ese dueño, y le otorga permisos, que aunque borres al gestionarlos, siguen.

La forma que yo he encontrado de modificar ese comportamiento, es cambiando el propietario, editando las propiedades del espacio, editando el campo del dueño, o con la opción "Tomar posesión", del menú "Mas opciones".

No entiendo cómo al indicarle la ruta padre del espacio personal, y dejando el nombre vacío, porque no quiero que cree ningún espacio, sino que simplemente acceda a esa carpeta, le otorga esos permisos (bueno, lo hace dueño). Entonces, si un grupo de usuarios comparte una carpeta, y quiero que todos al logarse aparezcan en ese espacio, ¿va cambiando el propietario a medida que indico en cada usuario que ese es el espacio de inicio?

Bueno, espero que poco a poco se vaya aclarando el tema, y que se pueda configurar de otro modo el espacio inicial de trabajo de los usuarios sin que lo haga dueño.

Saludos, María

Se anima alguien a ver esto?, la  verdad es que tiene pinta de ser un agujero de seguridad importante

Saludos
2 Replies
ajv
Member II

Re: Espacios de Usuarios y Permisos

Buenas!!

Pues a mí me da que no se trata de ningún agujero de seguridad, sino más bien de configuración de los servicios de autenticación.
Antes de empezar, y para ubicar a todo el mundo en el funcionamiento de la creación de espacios de usuario en Alfresco, os puedo decir que existen lo que se denominan HomeFolderProviders o proveedores de espacios de usuario. Por defecto, alfresco trae implementados varios que, aquellos que tengan acceso al código fuente,  se pueden ver desde el paquete org.alfresco.repo.security.person.

Pues bien, algunas de las propiedades importantes que traen estos proveedores de espacios son:
- ownerOnCreate: Indica el usuario que se establecerá como propietario (owner) del espacio. Si no se establece, por defecto se coge al usuario al cual se le está vinculando el espacio. Por defecto, null. Esto explica por qué el espacio del usuario "viene ya" con el owner puesto de fábrica, y con el valor del usuario en cuestión.
- inheritsPermissionsOnCreate: Indica si ha de heredar los permisos del espacio en el que se está creando el espacio del usuario. Por defecto, falso…así que no hereda nada del padre.
- clearExistingPermissionsOnCreate: De estar, elimina todos los permisos que el espacio que se está creando pudiera tener. Útil por si se genera el espacio a partir de una plantilla.
- ownerPemissionsToSetOnCreate: Indica los permisos que se le incorporan al espacio de usuario para aquél que sea el propietario (owner). Por defecto, está a "All". Esto explica por qué desde la pantalla de gestionar los permisos del espacio, nos sale al usuario del espacio invitado con el permiso de TODOS.
- userPermissions: Indica los permisos que se le incorporan al espacio de usuario para el usuario del espacio…Podría darse el caso en que el usuario del espacio no fuese el propietario (owner). De esta forma, podríamos darle un permiso adicional al usuario. Por ejemplo, que admin sea el owner de todos los espacios de usuario, pero que el usuario sea Colaborador…

¿Y cómo se configuran estas propiedades??
Bueno, pues podeis echarle un vistazo al fichero authentication-services-context.xml, que define los providers que mencioné al principio que traía por defecto.
Por ejemplo, veamos uno de los beans que crea espacios en user_homes:
<bean name="userHomesHomeFolderProvider" class="org.alfresco.repo.security.person.UIDBasedHomeFolderProvider">
        <property name="serviceRegistry">
            <ref bean="ServiceRegistry" />
        </property>
        <property name="path">
           <value>/${spaces.company_home.childname}/${spaces.user_homes.childname}</value>
        </property>
        <property name="storeUrl">
           <value>${spaces.store}</value>
        </property>
        <property name="homeFolderManager">
            <ref bean="homeFolderManager" />
        </property>
        <property name="inheritsPermissionsOnCreate">
            <value>false</value>
        </property>
        <property name="ownerPemissionsToSetOnCreate">
            <set>
                <value>All</value>
            </set>
        </property>
        <property name="userPemissions">
            <set>
                <value>All</value>
            </set>
        </property>
    </bean>
Como veis, se le indica el path del que cuelga el espacio del usuario (company_home/user_homes), le dice que no herede los permisos del padre, le da permisos de All al propietario y al usuario. Puesto que la propiedad ownerOnCreate no está definida, se pondría como owner al usuario para el que se le crea el espacio.

Con esta teoría creo que queda explicado un poco los motivos de porqué el usuario viene por defecto como propietario y con los permisos de TODOS. Aunque quites el permiso de TODOS seguirá teniendo opciones privilegiadas porque sigue siendo el dueño del espacio…otro usuario como admin debería tomar posesión y ajustar debidamente los permisos. O bien, ir al authentication-services y jugar con las propiedades del bean (ownerOnCreate, por ejemplo).

En fin, espero que os haya dado un poco de luz.  :wink:
Buen finde!
pjcaracuel_2349
Active Member

Re: Espacios de Usuarios y Permisos

Coño tio, eres un crack.

Ahora si que lo tengo clarito, eso si, me ha costado de entender al principio.

Saludos