Istnieje sposób na tworzenie ukrytych punktów montowania, jeśli użytkownik root udostępni wspólną przestrzeń nazw i zamontuje katalogi bez aktualizacji mtab. Czy istnieje prosty sposób na umieszczenie tego na liście bez konieczności filtrowania przez system plików proc?
Przede wszystkim /proc jest podstawowym sposobem dostępu do aktualnych informacji o montowaniu w systemie Linux.
Wiele współczesnych dystrybucji Linuksa nigdy nie aktualizuje mtab; jest to po prostu dowiązanie symboliczne do /proc/self/mounts. (Zarówno możliwość cofnięcia udostępnienia przestrzeni nazw montowania, jak i ukrywanie montowań poprzez „zapomnienie” aktualizacji mtab, są głównymi przyczynami tej zmiany. I oczywiście, po co powtarzać pracę, którą jądro już wykonuje?)
Podobnie, same identyfikatory przestrzeni nazw są ujawniane tylko przez /proc/$PID/ns/mnt. Nie ma innego sposobu sprawdzenia, które procesy znajdują się w oddzielnych przestrzeniach nazw od głównego.
Powiedziawszy to, najszybszym sposobem wylistowania wszystkich wierzchowców jest cat /proc/*/mounts. Ale jeśli nie chcesz tego robić, util-linux v2.28 wprowadza narzędzie lsns , które może szybko wyświetlić listę wszystkich unikalnych przestrzeni nazw oraz ich „pierwszy” proces:
$ sudo lsns --type = mnt
POLECENIE UŻYTKOWNIKA PID NPROCS TYP NS
4026531840 mnt 300 1 root / sbin / init
4026531860 mnt 1 38 root kdevtmpfs
4026532247 mnt 1 271 root / usr / lib / systemd / systemd-udevd
4026532359 mnt 2524 root / usr / bin / NetworkManager --no-daemon
4026532369 mnt 2 267304 root nginx: master process / usr / bin / nginx -g pid /run/nginx.pid
4026532557 mnt 1 892 colord / usr / lib / colord
A kiedy już masz identyfikator procesu, możesz zobaczyć jego tabelę montowania za pomocą:
$ sudo findmnt --tab = / proc / 267304 / mountinfo
(Zawsze powinieneś używać /proc/$PID/mountinfopliku, ponieważ zawiera on nieco więcej informacji niż mountslub / etc / mtab. Na przykład opisuje on faktyczną hierarchię, gdy montowania nakładają się w nieoczekiwany sposób, i dokładniej zgłasza „źródło” montowania wiązania gdy jest to plik lub podkatalog).
Jeśli chodzi o jedno narzędzie, które po prostu pokazuje, jakich wierzchowców „brakuje” w głównej przestrzeni nazw - nie znam żadnego. (W tej chwili nie ma tu coreutils ani util-linux, choć napisanie jednego nie powinno być trudne, jeśli pozwolisz mu się przekopać / proc.)
mountifindmntzgłaszają wszystkie wierzchowce.