मैं उपयोगकर्ता नामस्थान के अंदर "/" क्यों नहीं बांध सकता / सकती हूं?


13

यह काम क्यों नहीं करता है?

$ unshare -rm mount --bind / /mnt
mount: /mnt: wrong fs type, bad option, bad superblock on /, missing codepage or helper program, or other error.

ये काम ठीक है:

$ unshare -rm mount --bind /tmp /mnt
$ unshare -rm mount --bind /root /mnt
$

$ uname -r  # Linux kernel version
4.17.3-200.fc28.x86_64

जवाबों:


16

अंतर यह है कि /बाल आरोहण है। उपयोगकर्ता नामस्थान के अंदर, आपको विरासत में मिली बालकों को उनके बाल आरोह से अलग करने की अनुमति नहीं है। एक अधिक स्पष्ट उदाहरण यह है कि आपको अनुमति नहीं है umount /proc। अन्यथा, यह अचानक आपको उन फाइलों तक पहुंच प्रदान कर सकता है जो अन्य माउंट के नीचे छिपी हुई थीं। Overmounts को कभी-कभी सुरक्षा उपाय के रूप में जानबूझकर उपयोग किया जाता है।

आपको इसके बजाय एक पुनरावर्ती बाइंड माउंट बनाने की अनुमति है, जो सभी उप-माउंटों को संरक्षित करता है:

$ unshare -rm mount --rbind / /mnt
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.