Permisos Linux
Crear Grupo
sudo groupadd mi_grupo
Crear Usuario
sudo useradd mi_usuario
Asignar Usuario a Grupo
sudo usermod -a -G nombre_del_grupo nombre_de_usuario
getfacl
Al ejecutar getfacl en un archivo o directorio, la salida típica incluye:
Comando
getfacl nombre_archivo
Salida
# file: Muestra el nombre del archivo o directorio.
# owner: Muestra el nombre del propietario.
# group: Muestra el nombre del grupo asociado.
user::rwx: Muestra los permisos del propietario (donde rwx puede variar según los permisos actuales).
group::r-x: Muestra los permisos del grupo (los permisos pueden variar).
other::r--: Muestra los permisos para otros (pueden variar).
Claro, aquí tienes un resumen sobre cómo se aplican y priorizan los diferentes tipos de permisos en sistemas Unix y Linux, incluyendo permisos tradicionales y ACL (Listas de Control de Acceso):
1. Permisos Tradicionales (chmod):
- Propietario (u): Los permisos del propietario tienen la prioridad inicial sobre el archivo o directorio. Si el propietario tiene permisos de lectura, escritura o ejecución, estos se aplican directamente al propietario, sin interferencia de las ACL.
- Grupo (g): Los permisos de grupo se aplican a todos los usuarios que son miembros del grupo asociado al archivo o directorio. Si hay permisos de grupo específicos (como lectura o escritura), estos afectan a todos los miembros del grupo.
- Otros (o): Los permisos para “otros” se aplican a todos los demás usuarios del sistema que no son ni el propietario ni miembros del grupo asociado.
2. Listas de Control de Acceso (ACL):
- ACL de Usuario: Si se define una ACL específica para un usuario (con
setfacl -m u:nombredeusuario:permisos archivo
), estos permisos tienen prioridad sobre los permisos de grupo y “otros” para ese usuario específico, pero no necesariamente sobre los permisos del propietario si el usuario es el propietario. - ACL de Grupo: Si se establece una ACL para un grupo específico (con
setfacl -m g:nombredelgrupo:permisos archivo
), estos permisos afectan a todos los miembros de ese grupo específico, pero solo si son más permisivos que los permisos del grupo definidos porchmod
. - Máscara (mask): La máscara de una ACL limita los permisos máximos que pueden ser otorgados por las ACL de usuario y grupo. La máscara actúa como un tope máximo para los permisos de ACL, pero no afecta los permisos del propietario establecidos por
chmod
. - Otros y ACL por defecto: Las ACL también pueden definir permisos para “otros” y establecer ACL predeterminadas para directorios, que afectan la creación de nuevos archivos y subdirectorios.
Prioridades y Resolución de Conflictos:
- Permisos del Propietario: Los permisos de
chmod
para el propietario siempre se respetan para el propietario del archivo o directorio. - ACL de Usuario vs. Permisos de Grupo de
chmod
: Para usuarios específicos, las ACL de usuario tienen prioridad sobre los permisos de grupo establecidos porchmod
. - ACL de Grupo vs. Permisos de Grupo de
chmod
: Los permisos de las ACL de grupo solo se aplican si son más permisivos que los permisos de grupo dechmod
o si no hay conflictos directos. - Permisos para “Otros”: Se respetan según
chmod
a menos que se especifiquen explícitamente mediante ACL. - Máscara (mask): Limita los permisos efectivos de las ACL de usuario y grupo, pero no afecta los permisos del propietario de
chmod
. - Permisos Más Restrictivos: En cualquier conflicto entre diferentes tipos de permisos, los permisos más restrictivos prevalecen.
Mientras que las ACL permiten una granularidad mayor, no pueden conceder más permisos que los establecidos por los permisos base (chmod
). Además, la resolución de permisos efectivos depende de una combinación de estos controles, aplicando reglas específicas para resolver qué permisos prevalecen en diferentes situaciones.
Conclusión
Los permisos primarios como los permisos de usuario y grupos secundario son los principales. Mas que los permisos del ACK
Si un usuario tiene varios grupos ACK, toma los permisos del grupo mas permisivos que tenga. Siempre conviene que el grupo no tenga permisos para nada, mas que los justos
setfacl -R -m g::--- carpeta
redes@debian:~/Desktop$ ls -l ISO
total 48
drwxr-xr-x 2 redes users 4096 Feb 19 11:01 Documentos
drwxr-xr-x 2 redes users 4096 Feb 19 11:01 Ejemplos
drwxr-xr-x 7 redes users 4096 Feb 19 11:01 Otros
drwxr-xr-x 2 redes users 4096 Feb 19 11:01 PracticaNormalParciales
drwxr-xr-x 10 redes users 4096 Feb 19 11:01 Practicas
-rw-r--r-- 1 redes users 23639 Feb 19 11:01 README.md
drwxr-xr-x 9 redes users 4096 Feb 19 11:01 Teoria
redes@debian:~/Desktop$ find ISO -type d \( -path ISO/Teoria -o -path ISO/Practicas \) -prune -o -exec setfacl -m g:Director:--- {} \;
redes@debian:~/Desktop$ ls -l ISO
total 48
drwxr-xr-x+ 2 redes users 4096 Feb 19 11:01 Documentos
drwxr-xr-x+ 2 redes users 4096 Feb 19 11:01 Ejemplos
drwxr-xr-x+ 7 redes users 4096 Feb 19 11:01 Otros
drwxr-xr-x+ 2 redes users 4096 Feb 19 11:01 PracticaNormalParciales
drwxr-xr-x 10 redes users 4096 Feb 19 11:01 Practicas
-rw-r--r--+ 1 redes users 23639 Feb 19 11:01 README.md
drwxr-xr-x 9 redes users 4096 Feb 19 11:01 Teoria
redes@debian:~/Desktop$