[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

[ TIP ] Precacuciones al montar partición /tmp noexec



Hola,

Este post no es para consultar nada. Es para compartir una experiencia
y su solución. Quizá es muy obvio, pero como me ha sido útil, lo
comparto. (No recuerdo haber pasado por esto antes...)
En algunas máquinas tengo montado /tmp noexec,nosuid por cuestion de
seguridad.

# mount | grep tmp_lv
/dev/mapper/root_vg-tmp_lv on /tmp type ext3 (rw,noexec,nosuid)

No son sistemas que actualice a no ser que sea necesario.
Hoy actualicé el kernel y me pasó esto: 

==========================================================================
Preconfigurando paquetes ...
Can't exec "/tmp/linux-image-2.6.32-3-686-bigmem.config.55271":
Permiso denegado at /usr/share/perl/5.10/IPC/Open3.pm line 168.
open2: exec of /tmp/linux-image-2.6.32-3-686-bigmem.config.55271
configure  failed at /usr/share/perl5/Debconf/ConfModule.pm line 59
Fallo al preconfigurar linux-image-2.6.32-3-686-bigmem, con el código
de salida 255
...
Running update-initramfs.
update-initramfs: Generating /boot/initrd.img-2.6.32-3-686-bigmem
/usr/sbin/mkinitramfs: 276:
/tmp/mkinitramfs_ZgizfT/scripts/init-top/all_generic_ide: Permission
denied
/usr/sbin/mkinitramfs: 276:
/tmp/mkinitramfs_ZgizfT/scripts/init-top/blacklist: Permission denied
/usr/sbin/mkinitramfs: 276:
/tmp/mkinitramfs_ZgizfT/scripts/init-top/keymap: Permission denied
/usr/sbin/mkinitramfs: 276:
/tmp/mkinitramfs_ZgizfT/scripts/init-top/udev: Permission denied
/usr/sbin/mkinitramfs: 276:
/tmp/mkinitramfs_ZgizfT/scripts/local-top/lvm2: Permission denied
/usr/sbin/mkinitramfs: 276:
/tmp/mkinitramfs_ZgizfT/scripts/local-top/mdadm: Permission denied
/usr/sbin/mkinitramfs: 276:
/tmp/mkinitramfs_ZgizfT/scripts/local-premount/resume: Permission
denied
/usr/sbin/mkinitramfs: 276:
/tmp/mkinitramfs_ZgizfT/scripts/local-premount/uswsusp: Permission
denied
/usr/sbin/mkinitramfs: 276:
/tmp/mkinitramfs_ZgizfT/scripts/init-bottom/udev: Permission denied
==========================================================================

Lo que estaba ocurriendo es que aptitude utiliza /tmp para ejecutar 
scripts postinstall de algunos paquetes.

Remontando /tmp con permisos de ejecución se soluciona el problema:

# mount -o remount,exec /tmp

==========================================================================
Preconfigurando paquetes ...
Seleccionando el paquete linux-image-2.6.32-3-686-bigmem previamente
no seleccionado.
(Leyendo la base de datos ...  00%
189835 ficheros y directorios instalados actualmente.)
Desempaquetando linux-image-2.6.32-3-686-bigmem (de
.../linux-image-2.6.32-3-686-bigmem_2.6.32-9_i386.deb) ...
Seleccionando el paquete linux-headers-2.6.32-3-686-bigmem previamente
no seleccionado.
Desempaquetando linux-headers-2.6.32-3-686-bigmem (de
.../linux-headers-2.6.32-3-686-bigmem_2.6.32-9_i386.deb) ...
Configurando linux-image-2.6.32-3-686-bigmem (2.6.32-9) ...
Running depmod.
Running update-initramfs.
update-initramfs: Generating /boot/initrd.img-2.6.32-3-686-bigmem
Running update-grub.
Generating grub.cfg ...
Found linux image: /boot/vmlinuz-2.6.32-bpo.3-686-bigmem
Found initrd image: /boot/initrd.img-2.6.32-bpo.3-686-bigmem
Found linux image: /boot/vmlinuz-2.6.32-3-686-bigmem
Found initrd image: /boot/initrd.img-2.6.32-3-686-bigmem
Found linux image: /boot/vmlinuz-2.6.32-2-686-bigmem
Found initrd image: /boot/initrd.img-2.6.32-2-686-bigmem
done
Examining /etc/kernel/postinst.d.
run-parts: executing /etc/kernel/postinst.d/dkms 2.6.32-3-686-bigmem
/boot/vmlinuz-2.6.32-3-686-bigmem
run-parts: executing /etc/kernel/postinst.d/initramfs-tools
2.6.32-3-686-bigmem /boot/vmlinuz-2.6.32-3-686-bigmem
run-parts: executing /etc/kernel/postinst.d/pm-utils
2.6.32-3-686-bigmem /boot/vmlinuz-2.6.32-3-686-bigmem
Configurando linux-headers-2.6.32-3-686-bigmem (2.6.32-9) ...
==========================================================================

Ahora bien, sería pesado tener que hacer esto cada vez que se usa
apt-get/aptitude. Las siguientes líneas en /etc/apt/apt.conf o en un
fichero bajo /etc/apt/apt.conf.d/ (20tmpperms, p.e.) automatizan la
tarea.

DPkg::Pre-Invoke{"mount -o remount,exec /tmp";};
DPkg::Post-Invoke {"mount -o remount /tmp";};

Saludos.

Referencias:

http://www.debian-administration.org/articles/57
http://forums.debian.net/viewtopic.php?t=16450

-- 
Huella de clave primaria: 0FDA C36F F110 54F4 D42B  D0EB 617D 396C 448B 31EB

Attachment: pgpcuQfnqQqp0.pgp
Description: PGP signature


Reply to: