* Imagenes de instalación de las versiones estables para Mageia y OpenMandriva.

OpenMandriva: Mageia (Mageia 9) 20/Agosto/2023 - Anuncio, Descargas.

Blogdrake recomienda descargar las imágenes de instalación (iso) vía torrent para evitar corrupción de datos, aprovechar mejor su ancho de banda y mejorar la difusión de las distribuciones.

Permisos avanzados de archivos utilizando listas de accesos: ACL

Hola a todos,

Muchos vendrán del sistema de la banderita y dirán, qué mierda este linux que sólo se puede especificar permisos al usuario, grupo y "otros", si yo en el otro sistemita no tenía que rompérmela creando grupos para poder destinar permisos a un usuario.

Te cuento que sí se puede, lo "distinto" es que no viene activado por defecto, pero vamos que no es nada muy lioso.

Cosas necesarias:

kernel configurado apropiadamente (tranquilos, Mandriva ya lo ha hecho bien por nosotros ;) ), de todas maneras si estás compilando un nuevo kernel, asegúrate de que la siguiente opción esté habilitada,

CONFIG_FS_POSIX_ACL=y

fstab con opción acl ¿cómo?
Mi fstab "original"

# Entry for /dev/sda8 :
UUID=e4f75e2b-56b5-4857-aa57-04629fbab9c8 /home ext3 noatime 1 2

fstab modificado:

# Entry for /dev/sda8 :
UUID=e4f75e2b-56b5-4857-aa57-04629fbab9c8 /home ext3 noatime,acl 1 2

paquete acl en mi pwp 2009.0 venía instalado por defecto, en caso contrario:

urpmi acl

Repaso de chmod:

Como muchos saben (y mencioné en la introducción), los sistemas unix por defecto traen 3 tipos de permisos.
a) usuario propietario (se le llama "u")
b) grupo (usuarios que pertenezcan al grupo "g")
c) otros (cualquier otro "o")

En internet casi todos usan chmod con "los numeritos" que no es más que asignar permisos a través de "sumas de numeros" que representan los accesos para usuario|grupo|otros de la siguiente forma:

chmod 777 archivo

En el 741 están definidos los permisos para el usuario (primer dígito 7), para el grupo (segundo dígito 4) y para otros (tercer dígito 1), entonces si queremos asignar distintos permisos, estos se suman en el dígito que corresponde según lo siguiente:

1: ejecución
2: escritura
4: lectura

entonces si queremos permisos de ejecución+escritura+lectura es lo mismo que 4+2+1=7, ¿fácil no?, si queremos acceso total a todos, entonces sería

chmod 777 archivo

acceso total al usuario (propietario) y solo lectura al grupo y otros.

chmod 744 archivo

Ahora que sabemos algo más de chmod, intentemos hacerlo con letritas, primero definamos nuevamente algunas cosillas:

u: usuario
g: grupo
o: otros
a: todos (All)
---
r: lectura (Read)
w: escritura (Write)
x: ejecución (eXecutable)
---
+: agregar
-: quitar
=: asignar/re-definir

teniendo todo esto en cuenta, vamos a aprender a usar chmod con las letritas
sintaxis:

chmod [u/g/o/a][+/-/=][r/w/x]

¿chino?, ejemplos:
agregar permisos de lectura, escritura y ejecución a todos (777) a mi archivo.txt:

chmod a+rwx archivo.txt

quitar permisos de ejecución a todos:

chmod a-x archivo.txt

solo permisos de lectura para el grupo y otros:

chmod go=r archivo.txt
en este último ejemplo note la diferencia entre = y +, si se hubiese utilizado + el archivo hubiese quedado con permisos de lectura y escritura.

Ya manejándonos bien con chmod, vamos a las listas de acceso, estas consisten en agregar permisos a cada usuario o grupo individualmente, al realizar un ls -l a un archivo con "permisos avanzados" veremos un signo + al final de los permisos para "otros" como se muestra:

-rw-rwxr--+ 1 manuel manuel 4 2008-12-04 08:40 archivo.txt*

¿cómo vemos los permisos avanzados?, así:

getfacl archivo.txt

¿y qué vemos?, esto:

# file: archivo.txt
# owner: manuel
# group: manuel
user::rwx
user:ftp:rwx
group::r--
mask::rwx
other::r--

¿Y qué significa?, significa que hay que interpretarlo tal cual fuera chmod, con la salvedad que nos muestra permisos para user:: (que es el propietario) y para user:ftp (que en este caso con anterioridad le agregué un permiso de lectura escritura y ejecución al usuario ftp).

¿bonito no?

Ahora vamos a asignar un permiso utilizando mi lista de accesos.
Sintaxis

setfacl -mR u/g:nombre:permisos 

¿chino?

m: modificar permisos
R: asignación recursiva (para subdirectorios)
u: usuario
g: grupo
nombre: nombre del usuario o grupo
permisos: x,w,r según necesidad

ejemplos:
agregar permisos de lectura al usuario apache

setfacl -m u:apache:r archivo.txt

agregar permisos de ejecución al grupo ftp

setfacl -m g:ftp:x archivo.txt

quitar todos los permisos avanzados de la lista de acceso:

setfacl -b archivo.txt

Y listo... en el modo gráfico, una vez habilitadas las listas de acceso en el fstab, al dar clic derecho a un archivo, se habilita la opción de "permisos avanzados" (en Dolphin por lo menos).

Saludos!

Opciones de visualización de comentarios

Seleccione la forma que desee de mostrar los comentarios y haga clic en «Guardar opciones» para activar los cambios.


Gravatar de Annubis

# 67292 Agregado

Gracias, está muy interesante.

Opciones de visualización de comentarios

Seleccione la forma que desee de mostrar los comentarios y haga clic en «Guardar opciones» para activar los cambios.