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!
# 67292 Agregado
Gracias, está muy interesante.