come posso verificare se un mount bind su linux è privato o condiviso?


8

Il comando mount ci consente di rendere un mount bind condiviso, slave, shared + slave, privato o non associabile, tuttavia, non sono stato in grado di capire per un determinato punto di mount quale sia il tipo di sottostruttura radicato sul bind-mount (condiviso, slave, privato, condiviso + slave o non risolvibile). Come faccio a sapere se un bind mount è uno slave o un privato?

Risposte:


8

La risposta è anche nella mount(8)pagina del manuale:

Usa findmnt -o TARGET, PROPAGATION per vedere gli attuali flag di propagazione.

Un esempio:

$ findmnt -o TARGET,PROPAGATION /opt
TARGET PROPAGATION
/opt   shared

$ sudo mount -o bind /opt /mnt
$ sudo mount --make-slave /opt
$ findmnt -o TARGET,PROPAGATION /opt
TARGET PROPAGATION
/opt   private,slave

$ sudo umount /mnt
$ findmnt -o TARGET,PROPAGATION /opt
TARGET PROPAGATION
/opt   private

Controlla la findmntpagina del manuale per altre opzioni.

Per riferimento, questi esempi utilizzano:

$ findmnt --version
findmnt from util-linux 2.27.1

Quale versione findmntstai usando? Sto usando findmntsu Ubuntu 14.04 e non sembra avere l'opzione "PROPAGAZIONE".
anaken78,

7

In alternativa alla risposta di Dawud , puoi chiedere direttamente al kernel in questo modo:

# cat /proc/1/mountinfo
14 19 0:14 / /sys rw,nosuid,nodev,noexec,relatime shared:7 - sysfs sysfs rw
15 19 0:3 / /proc rw,nosuid,nodev,noexec,relatime shared:12 - proc proc rw
[...]

Dal settimo campo puoi vedere che il mio /sysfilesystem è condiviso (proprio come /proc).

Inoltre, è e nel gruppo di pari 7 (i montaggi nello stesso gruppo di pari propagano gli eventi gli uni agli altri).

Il numero in /proc/1/mountinfoè il PID di un processo, poiché i processi possono trovarsi in spazi dei nomi di mount diversi e "vedere" risultati diversi. È possibile che si desideri utilizzare un altro PID, ad esempio se si lavora con contenitori. Altrimenti, 1è semplice e diretto.

I montaggi condivisi sono disponibili dalla versione 2.6.15 del kernel di Linux.


-3

Sono 2 viste degli stessi dati, le modifiche in uno si riflettono nell'altro

mount --bind / source / destrination

/unix/198590/what-is-a-bind-mount

i mount mount sono solo un modo per ordinare una vista del filesystem secondo le tue preferenze


1
Questo non risponde alla domanda. La domanda chiede come trovare la modalità di un dato bind-mount (condiviso, slave, privato, ecc.) Per non definire cosa sia un bind mount.
Cosmic Ossifrage

il link fornito spiega, non è nessuno dei precedenti
Sum1sAdmin

1
@ Rob-d cosa intendi con "non è nessuno dei precedenti"? Come ha osservato Cosmic Ossifrage sulla mia domanda riguardo al tipo di attacco, non a come usare il supporto di collegamento.
anaken78,

Indipendentemente dal tipo da cui stai eseguendo il binding, altrimenti usa bindfs -r ecc.
Sum1sAdmin
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.