C'è un modo per creare punti di montaggio nascosti se l'utente root annulla la condivisione dello spazio dei nomi corrente e monta le directory senza aggiornare mtab. C'è un modo semplice per elencarlo senza dover filtrare attraverso il file system proc?
Prima di tutto, /proc è il modo principale per accedere alle informazioni di mount correnti su Linux.
Molte moderne distribuzioni Linux non aggiornano mai mtab; è semplicemente un collegamento simbolico a /proc/self/mounts. (Sia la possibilità di annullare la condivisione degli spazi dei nomi dei montaggi, sia nascondere i montaggi "dimenticando" di aggiornare mtab, sono le ragioni principali di questo cambiamento. E, naturalmente, qual è il punto di ripetere il lavoro che il kernel fa già?)
Allo stesso modo, gli stessi identificatori dello spazio dei nomi sono esposti solo tramite /proc/$PID/ns/mnt. Non esiste altro modo per verificare quali processi si trovano in spazi dei nomi separati da quello principale.
Detto questo, il modo più rapido per elencare tutti i supporti è cat /proc/*/mounts. Ma se non vuoi farlo, util-linux v2.28 introduce lo strumento lsns che può elencare rapidamente tutti gli spazi dei nomi univoci così come il loro "primo" processo:
$ sudo lsns --type = mnt
COMANDO UTENTE PID NPROCS TIPO NS
4026531840 mnt 300 1 root / sbin / init
4026531860 mnt 1 38 kdevtmpfs radice
4026532247 mnt 1 271 root / usr / lib / systemd / systemd-udevd
4026532359 mnt 2 524 root / usr / bin / NetworkManager --no-daemon
4026532369 mnt 2 267304 root nginx: processo principale / usr / bin / nginx -g pid /run/nginx.pid
4026532557 mnt 1 892 colord / usr / lib / colord
E una volta che hai l'ID processo, puoi vedere la sua tabella di montaggio usando:
$ sudo findmnt --tab = / proc / 267304 / mountinfo
(Dovresti sempre usare il /proc/$PID/mountinfofile, poiché contiene un po 'più di informazioni di mountso / etc / mtab. Ad esempio, descrive la gerarchia effettiva quando i montaggi si sovrappongono in modi imprevisti e riporta più accuratamente la' fonte 'di un mount bind quando è un file o una sottodirectory.)
Per quanto riguarda un singolo strumento che mostrerebbe semplicemente quali supporti "mancano" dallo spazio dei nomi principale, non ne conosco nessuno. (Uno non viene fornito con coreutils o util-linux in questo momento, anche se non dovrebbe essere difficile scriverne uno se gli permetti di scavare / proc.)
mountefindmntriporterò tutti i supporti.