erlug
[Top] [All Lists]

Re: [Erlug] chroot mount: devfs/proc/... o --rbind?

To: ERlug - Lista Pubblica <erlug@xxxxxxxxxxxxxx>
Subject: Re: [Erlug] chroot mount: devfs/proc/... o --rbind?
From: Daniele Palumbo <daniele@xxxxxxxxxxxx>
Date: Thu, 20 Jan 2011 22:48:58 +0100
Il giorno 20/gen/2011, alle ore 18.19, Guido Bolognesi [Zen] ha scritto:
> Rinfrescandomi la memoria in questi giorni vedo che viene suggerito il
> piu` moderno
> mount --rbind /dev/pts $mpoint/dev/pts
> Quali sono i pro / contro delle due soluzioni, ammesso ce ne siano?
[...]
> E gia` che ci siamo, voi quali fs "speciali" montereste / montate
> solitamente dentro i chroot?
[...]
> Rimontare direttamente la /dev (problemi di security a parte), che male mi fa?

vado molto a brainstorming...

il --bind (--rbind è ricorsivo, per la cronaca) l'ho utilizzato in situazioni 
"strane", come ad esempio un fs che contiene diverse directory, ed invece di 
fare dei symlink che puntano a /mnt/tantospazio/diretory con mount --bind della 
directory salto tutti i problemi che i symlink possono dare (vengono in mente 
apache e followsymlink, samba e i problemi con i symlink che non vuoi che siano 
trasparenti ma vuoi le unix_extensions, ...)

un esempio concreto può essere, per esempio, /mnt/scout ;)

per /dev credo sia più complicato;
da udev(7)
--
udev_root
           Specifies where to place the device nodes in the filesystem. The
           default value is /dev.
--

Mi viene da pensare che se il demone aggiorna solo quella /dev, a meno di 
rilanciarlo, quindi necessariamente va montata con --rbind.
Sempre se non è sufficiente qualcosa di statico eh!

in ogni caso non monterei con --rbind $mpoint/dev/pts, quanto piuttosto 
$mpoint/dev.
in questo caso c'è un unico mount point per tutte le /dev, quindi è più "easy".

proc ad esempio secondo me ha poco senso, perché è davvero un meta-filesystem...
forse è più veloce montarlo con --bind? dovrei controllare.
forse, per rimanere "sincroni" montare tutto con --bind può essere utile 
piuttosto che un po' di bind ed un po' no...

altra cosa curiosa[1]:
Se monto qualcosa con --bind posso smontare la directory padre, e la directory 
"bindata" rimane comunque montata.
mi sarei aspettato invece un warning, perlomeno, che esiste un qualche tipo di 
problema... Come faccio a sapere quale fs era il riferimento?

bye
d.


[1] output log:
odo ~ # mount
/dev/sdd1 on / type ext3 (rw,noatime)
proc on /proc type proc (rw,nosuid,nodev,noexec)
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec)
udev on /dev type tmpfs (rw,nosuid)
devpts on /dev/pts type devpts (rw,nosuid,noexec)
/dev/sdd5 on /var type ext3 (rw,noatime)
shm on /dev/shm type tmpfs (rw,noexec,nosuid,nodev)
usbfs on /proc/bus/usb type usbfs (rw,noexec,nosuid,devmode=0664,devgid=85)
odo ~ # ls /mnt/xen/XenKernels/
odo ~ # mount /mnt/xen/XenKernels/
odo ~ # ls /mnt/xen/XenKernels/
2.6.18-xen-r18-domU_07.04.2009.tar.bz2  lib
2.6.20-r6-DomU_25.02.2008.tar.bz2       lost+found
2.6.21-xen-DomU_06.10.2008.tar.bz2      vmlinuz-2.6.20-r6-DomU
2.6.21-xen-DomU_25.02.2008.tar.bz2
odo ~ # ls /mnt/temp2/
odo ~ # mount --bind /mnt/xen/XenKernels/ /mnt/temp2
odo ~ # mount
/dev/sdd1 on / type ext3 (rw,noatime)
proc on /proc type proc (rw,nosuid,nodev,noexec)
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec)
udev on /dev type tmpfs (rw,nosuid)
devpts on /dev/pts type devpts (rw,nosuid,noexec)
/dev/sdd5 on /var type ext3 (rw,noatime)
shm on /dev/shm type tmpfs (rw,noexec,nosuid,nodev)
usbfs on /proc/bus/usb type usbfs (rw,noexec,nosuid,devmode=0664,devgid=85)
/dev/mapper/vgOdo-XenKernels on /mnt/xen/XenKernels type ext3 (ro,noatime)
/mnt/xen/XenKernels on /mnt/temp2 type none (rw,bind)
odo ~ # ls /mnt/temp2/
2.6.18-xen-r18-domU_07.04.2009.tar.bz2  lib
2.6.20-r6-DomU_25.02.2008.tar.bz2       lost+found
2.6.21-xen-DomU_06.10.2008.tar.bz2      vmlinuz-2.6.20-r6-DomU
2.6.21-xen-DomU_25.02.2008.tar.bz2
odo ~ # umount /mnt/xen/XenKernels/ 
odo ~ # ls /mnt/xen/XenKernels/ 
odo ~ # ls /mnt/temp2/
2.6.18-xen-r18-domU_07.04.2009.tar.bz2  lib
2.6.20-r6-DomU_25.02.2008.tar.bz2       lost+found
2.6.21-xen-DomU_06.10.2008.tar.bz2      vmlinuz-2.6.20-r6-DomU
2.6.21-xen-DomU_25.02.2008.tar.bz2
odo ~ # mount
/dev/sdd1 on / type ext3 (rw,noatime)
proc on /proc type proc (rw,nosuid,nodev,noexec)
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec)
udev on /dev type tmpfs (rw,nosuid)
devpts on /dev/pts type devpts (rw,nosuid,noexec)
/dev/sdd5 on /var type ext3 (rw,noatime)
shm on /dev/shm type tmpfs (rw,noexec,nosuid,nodev)
usbfs on /proc/bus/usb type usbfs (rw,noexec,nosuid,devmode=0664,devgid=85)
/mnt/xen/XenKernels on /mnt/temp2 type none (rw,bind)
odo ~ # 


<Prev in Thread] Current Thread [Next in Thread>