Arreglando un pequeño contratiempo en Debian Sarge

Hoy mi script de actualizaciones me ha notificado que había actualizaciones de:

Se actualizarán los siguientes paquetes:
libc6 libc6-dev locales perl perl-base perl-modules tar
7 actualizados, 0 se instalarán, 0 para eliminar y 0 no actualizados.
Necesito descargar 18,1MB de archivos.

Claro, cuando lo vi lo primero que hice fue visitar la web de seguridad de paquetes de Debian y ver que no tenía ninguna vulnerabilidad. Me extrañé, pero de todos modos actualizé obteniendo un error.

Desea continuar? [S/n] S
(Leyendo la base de datos …
15292 ficheros y directorios instalados actualmente.)
Preparando para reemplazar libc6 2.3.2.ds1-22 (usando …/libc6_2.3.2.ds1-22sarge3_i386.deb) …
Desempaquetando el reemplazo de libc6 …
dpkg: error al procesar /var/cache/apt/archives/libc6_2.3.2.ds1-22sarge3_i386.deb (–unpack):
no se puede crear un enlace de seguridad de `./usr/share/zoneinfo/Europe/Madrid” antes de instalar
la nueva versión: Operación no permitida
dpkg-deb: el subproceso paste fue terminado por la señal (Tubería rota)
Se encontraron errores al procesar:
/var/cache/apt/archives/libc6_2.3.2.ds1-22sarge3_i386.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)

Lo primero que pensé cuando leí Operación no permitida fue en los atributos extendidos de Linux (véase lsattr y chattr) pues los usaba.

# lsattr /usr/share/zoneinfo/Europe/Madrid
—-i———— /usr/share/zoneinfo/Europe/Madrid

UH!?

# chattr -i /usr/share/zoneinfo/Europe/Madrid
# lsattr /usr/share/zoneinfo/Europe/Madrid
—————– /usr/share/zoneinfo/Europe/Madrid

Bien, probemos.

# apt-get -f dist-upgrade

Correcto!!

# chattr +i /usr/share/zoneinfo/Europe/Madrid
# lsattr /usr/share/zoneinfo/Europe/Madrid
—-i———— /usr/share/zoneinfo/Europe/Madrid

Los atributos extendidos (de ahora en adelante ea) son unos atributos del sistema de ficheros que se maneja con las utilidades lsattr y chattr.
El comando lsattr sirve para listar los ea de un fichero o directorio.
El comando chattr sirve para asignarlos. Podéis leer el man chattr para verlos todos, pero resumiendo mucho, los más útiles en mi opinión con el a y el i.

El atributo a proviene de append y significa añadir. Esto hace que a un fichero solos e le puedna añadir datos, peor no eliminarlos ni modificarlos, y mucho menos eliminar el fichero en cuestión. Es muy útil para los logs, pues solo añadimos y así no se pueden eliminar, aunque si se obtiene acceso a root un $ chattr -a fichero bastaría.

El atributo i hace que el fichero sea inmutable, y cuando digo inmutable me refiero a que ni root puede hacer nada. Ejemplo:

# touch prueba
# chattr +i prueba
# lsattr prueba
—-i———— prueba
rm prueba
rm: ¿borrar el fichero regular vacío «prueba» protegido contra escritura? (s/n) s
rm: no se puede borrar «prueba»: Operación no permitida

Es muy útil para cuando tenemos una jaula chroot y no queremos machacar por un despiste esa jaula que tenemos. Aplicamos pues atributos extendidos y no será posible machacarlos sin querer.

Hay otro flag interesante que es el s si no recuerdo mal, que sirve para No hacer backup del inodo del fichero que estamos eliminando. Resumiendo: Una eliminación segura, similar a un wipe aunque no puedo probarlo o quizá sea diferente, pero eso entendí.

De todos modos podéis leeros el manual de chattr y tambien miraros las ACL del sistema que se trabajan con getfacl y setfacl. Ya no son tan sencillas pero sí muy útiles cuando en sistema UGO (User Group Other, configurables con chown y chmod) se nos queda pequeño.

Espero que el post os haya servido de algo. Agur.

Anuncios

Las opiniones reflejadas en este blog son personales o ni siquiera son opiniones, y bajo ningún concepto representan las estrategias, opiniones o posturas de mi empresa actual, ni de ninguna en las que he trabajado, así como tampoco de ninguno de los clientes o proveedores de todas ellas.
La información se proporciona como está, sin garantías de ninguna clase, y no otorga ningún derecho. Los comentarios pertenecen a sus autores y bajo ningún concepto el autor del blog se hará responsable de los mismos.

Categorías

Archivos


A %d blogueros les gusta esto: