Es.Como usar permisos en Samba con acl

Saltar a: navegación, buscar

Esta es una guia de como implementar permisos en samba utilizando listas de control de acceso (acl).

Los permisos los asignaremos por funciones, para ello crearemos un grupo unix (o LDAP) para cada funcin, y asignamos a los usuarios tantos grupos como funciones desempea, poniendo como grupo principal la de su funcin de mayor jerarquia.

Para ello, vamos a definir una estructura de carpetas como esta:

Ruta Funcion

/public Documentos y Aplicaciones Empresa

/public/Documentos/ Documentos Empresa

/public/Documentos/Contabilidad Departamentos

/public/Documentos/Informatica

/public/Documentos/..................

Dentro de la carpeta de cada departamento, este tendra total autonomia, aunque nos podra pedir implementar seguridad por funciones a un nivel inferior. En este caso, segiruiamos la misma operativa, cambiariamos los permisos de la carpeta de nivel superior para que las funciones de mas bajo nivel solo tuvieran capacidad de recorrido, y el grupo de mayor nivel sea el que puede crear estructura. Para las subcarpetas por funciones, aplicariamos el mismo criterio que aplicamos en las carpetas departamentales.

Permisos de /public

  1. file: public
  2. owner: root
  3. group: root 

user::rwx group::r-x other::r-x

(permisos por defecto de puntos de montaje en el raiz, y sin uso de acl)

Permisos de /public/Documentos (fijaros que tiene el grupo con set group id, herencia de permisos)

drwxrws---+ Documentos

  1. file: Documentos
  2. owner: nobody
  3. group: nobody 

user::rwx group::--- group:users:r-x group:Informatica:rwx mask::rwx other::--- default:user::--- default:user:Informatica:rwx default:group::--- default:mask::rwx default:other::---

permisos de las Carpetas de Departamentos /public/Documentos/Carpeta

drwxrws---+ Carpeta

  1. file: Carpeta
  2. owner: nobody
  3. group: Departamento 

user::rwx group::rwx group:users:--x group:Informatica:rwx mask::rwx other::--- default:user::rwx default:group::rwx default:group:users:--x default:group:Informatica:rwx default:mask::rwx default:other::---

donde Carpeta es el nombre de la carpeta y departamento es el nombre del departamento

Para fijar los permisos de las carpetas se procede como sigue:

se crea como administrador la carpeta con el comando mkdir Carpeta se fijan los propietarios y permisos con los comandos siguientes.

chrown nobody.Departamento Carpeta chmod u:+rwx Carpeta chmod g:+rwxs Carpeta chmod o:-rwx Carpeta setfacl -m group::rwx Carpeta setfacl -m default:group::rwx Carpeta setfacl -m user::rwx Carpeta setfacl -m default:user::rwx Carpeta setfacl -m group:users:--x Carpeta setfacl -m default:group:users:--x Carpeta setfacl -m group:Informatica:rwx Carpeta setfacl -m default:group:rwx Informatica Carpeta

Se puede utilizar en todos estos comandos el flag -R patra hacerlo recursivo

PRECAUCIONES: No usar en la carpeta Documentos directamente, solo en sus subcarpetas, ya que sino nos cargamos todos los permisos. No usar en ninguna carpeta fuera de la jerarquia de /public/Documentos


Otros consejos:

Ademas de esto, puedes aadir mas grupos (funciones) a una carpeta de manera similar a como aadimos el grupo Informatica o el users, pero con los permisos adecuados. Tambien puedes usar enlaces simbolicos a documentos para permisos de acceso especificos a un fichero en concreto dentro de una carpeta que sea inaccesible para el usuario, por ejemplo.

tienes una carpeta A en la que el usuario tiene acceso, y una carpeta B en la que el usuario no puede acceder, pero quieres que acceda a un documento o subcarpeta especifica dentro de esta.

creas en A un enlace simbolico al documento o carpeta, y le das acceso ademas al usuario al documento o carpeta en concreto, y el usuario podra acceder via el enlace simbolico, y para el es transparente, es como si el fichero o carpeta estuvieran realmente bajo la carpeta A, el windows ni se entera que es un enlace simbolico.


IMPORTANTE. Maneja solo los permisos desde linux.


Comandos más habituales:

chmod : sirve para asignar permisos a ficheros o directorios chown : sirve para cambiar el propieratio de un fichero o directorio chgrp : sirve para cambiar el grupo al que pertenece un fichero o directorio getfacl : sirve para comprobar los permisos que tiene un fichero o directorio. setfacl : sirve para asignar permisos adicionales a un fichero o directorio.