Как связать пути монтирования после того, как корневой узел будет выполнен

#linux #mount #chroot

Вопрос:

Предыстория: Я успешно настраиваю корневую среду pivot для своего процесса, используя библиотеку minijail. Это помещает мой процесс в собственное пространство имен монтирования.

Проблема: Как только процесс будет внедрен в корневую систему, возможно ли, что я смогу привязать пути монтирования извне к среде с корневой системой.

например: После корневого поворота информация о монтировании для моего процесса, как показано ниже, где

 /mnt is the pivot root (new root that my process sees)
/usr/lib, /usr/share and /lib are the directories I bind mounted before doing the pivot root.
 
 sh-3.2# cat /proc/2909/mountinfo 
1751 1645 0:18 /mnt / rw,..
1752 1751 0:18 /usr/lib /usr/lib ro,relatime ...
1753 1751 0:18 /usr/share /usr/share ro,relatime ..
1754 1751 0:18 /lib /lib ro,relatime ..
 

Теперь я хочу привязать монтирование /etc/xyz (из корневого пространства имен) в /etc/xyz (в пространстве имен процесса 2909) после того, как процесс уже укоренен.

 sh-3.2# ls -li /proc/self/ns/mnt 
103806 lrwxrwxrwx 1 root root 0 Sep 13 13:39 /proc/self/ns/mnt -> mnt:[4026531840]
sh-3.2# ls -li /proc/2909/ns/mnt 
88440 lrwxrwxrwx. 1 app_user root 0 Sep 13 12:53 /proc/2909/ns/mnt -> mnt:[4026533175]
sh-3.2# 

 

Комментарии:


1. У вас хороший вопрос, но вы разместили его на неправильном сайте StackEachange. Я голосую за то, чтобы закрыть этот вопрос, потому что ваш вопрос не связан с «Программированием», он больше подходит для суперпользователя сайтов StackExchange или Unix и Linux .

2. хорошо, спасибо, я разместил это здесь прямо сейчас superuser.com/questions/1676932/…