मैं एक फाइल सिस्टम कैसे बना सकता हूं, उपयोगकर्ता के मानचित्रण?


16

मैं सफलतापूर्वक एक ext4 विभाजन को माउंट कर सकता हूं, समस्या यह है कि विभाजन पर सभी फाइलें उपयोगकर्ता के पास उपयोगकर्ता नाम 1000 के साथ हैं। एक मशीन पर, मेरा उपयोगकर्ता 1000 है, लेकिन दूसरे पर यह 1010 है। मेरा उपयोगकर्ता नाम दोनों मशीनों पर समान है , लेकिन मुझे एहसास है कि फाइलसिस्टम उपयोगकर्ता नाम स्टोर करता है, उपयोगकर्ता नाम नहीं।

मैं निम्नलिखित की तरह कुछ के साथ फ़ाइल स्वामित्व को सही कर सकता है:

find /mnt/example -exec chown -h 1010 {} \;

लेकिन फिर मुझे 1000 पर वापस फ़ाइल स्वामित्व को फिर से सही करना होगा जब मैं इस बाहरी ड्राइव को किसी अन्य मशीन पर माउंट करता हूं।

मैं क्या कहना चाहूंगा mountकि उपयोगकर्ता को 1000 से 1010 तक के मानचित्र को एक विकल्प देना है , ताकि मुझे वास्तव में किसी भी फाइल को संशोधित न करना पड़े। क्या इसे करने का कोई तरीका है?



मैं इस सवाल के लिए एक डेढ़ साल बाद खोजता हूं, यह पाया गया, उत्थान करना चाहता था, केवल यह पता लगाने के लिए कि मैंने खुद से यह सवाल पूछा था!
फ्लिम

आप इसे अभी भी पसंदीदा बना सकते हैं, भले ही आप इसे बढ़ा न सकें: -ओ
एंथन

जवाबों:


18

Bindfs पैकेज पर एक नज़र डालें । bindfs एक FUSE फाइल सिस्टम है जो मौजूदा फ़ाइल सिस्टम के शीर्ष पर फ़ाइल अनुमतियों, फ़ाइल स्वामित्व आदि के विभिन्न जोड़तोड़ के लिए अनुमति देता है।

आप विशेष रूप से bindfs के --map विकल्प के लिए देख रहे हैं :

--map=user1/user2:@group1/@group2:..., -o map=...
    Given a mapping user1/user2, all files owned by user1 are shown as owned by user2. When user2 creates files, they are chowned to user1 in the underlying directory. When files are chowned to user2, they are chowned to user1 in the underlying directory. Works similarly for groups.

    A single user or group may appear no more than once on the left and once on the right of a slash in the list of mappings. Currently, the options --force-user, --force-group, --mirror, --create-for-*, --chown-* and --chgrp-* override the corresponding behavior of this option.

    Requires mounting as root. 

तो में उपयोगकर्ता ID 1001 के साथ अपनी फ़ाइलें मैप करने के लिए /mnt/wrongकरने के लिए /mnt/correctप्रयोक्ता आईडी 1234 के साथ, यह कमांड चलाएँ:

sudo bindfs --map=1001/1234 /mnt/wrong /mnt/correct

मैं fuse: unknown option `--map=1004/1002'अपने Ubuntu 12.04.5 LTS सर्वर पर मिल रहा हूँ । मुझे आश्चर्य है कि अगर मेरे बाइंडफ़ेट्स या फ्यूज का संस्करण पुराना है ...
ज़ीरो 3

1

आप bindfs का उपयोग कर सकते हैं । यह विभिन्न यूआईडी / जीआईडी ​​के साथ फाइलसिस्टम को कुछ अन्य माउंटपॉइंट से बांध सकता है। हालाँकि मुझे लगता है कि मैं सिर्फ यूआईडी को बदलूंगा इसलिए यह दोनों सिस्टम पर समान है।

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