मैं किसी अन्य ड्राइव से अपने होम फ़ोल्डर को कैसे सिमिलिंक कर सकता हूं?


15

अधिक विशेष रूप से, मैं अपने होम खाते के लिए उपयोगकर्ता फ़ोल्डर एक और डिस्क रखना चाहता हूं जिसमें अधिक स्थान है, लेकिन मेरे अन्य छोटे खातों को अपने ssd पर रखें। मैं अपने उपयोगकर्ता फ़ोल्डर को किसी अन्य डिस्क पर कॉपी करने में सक्षम था, लेकिन अब मुझे इसे अपने ssd पर होम फ़ोल्डर से लिंक करने की आवश्यकता है, मैं इसे सामान्य बूट से एक्सेस करना चाहता हूं, और कृपया मुझे यह न बताएं कि मैंने जो किया वह नहीं था सबसे अच्छी बात, मैं सिर्फ एक जवाब चाहता हूं। मैं इसे एक लिंक बनाने के लिए कैसे प्राप्त कर सकता हूं जो / होम / उपयोगकर्ता नाम से / अतिरिक्त-होम / उपयोगकर्ता नाम पर जाता है और उपयोगकर्ता फ़ोल्डर लोड करते समय सिस्टम द्वारा पहचाना जाता है?

जवाबों:


21

याद रखें कि आपकी अनुमतियां समान होनी चाहिए। सिम्लिंक के अलावा, अधिक हाल के डिस्ट्रोस और फाइल सिस्टम पर, रूट के रूप में आप बाइंड-माउंट का भी उपयोग कर सकते हैं:

mkdir /home/username mount --bind --verbose /extra-home/username /home/username

यह डेमॉन के माध्यम से उप-घर में "इन / द होम डायरेक्टरी" के माध्यम से पहुंच की अनुमति देने के लिए उपयोगी है, जो कि सहानुभूति (एपाचे, एफपीडी, आदि) के माध्यम से रास्ते से बचने के लिए कॉन्फ़िगर किया गया है।

आपको याद रखना होगा (या init script), रीस्टार्ट होने पर, निश्चित रूप से बांधने के लिए।


मुझे इस बात की जानकारी नहीं थी कि सिमिलिंक ऐसे मुद्दे पैदा कर सकते हैं। ऐसे डेमॉन कैसे मानते हैं /var/run/?
पॉल

1
सर्वर को सिस्टम से समझौता करने से बचने के लिए, स्थानीय फाइल सिस्टम तक पहुंच को प्रतिबंधित करने के लिए डिज़ाइन किया गया है। आप इसे "दूरस्थ उपयोगकर्ताओं को अनुमति दी गई चीजें" के रूप में सोच सकते हैं। उन्हें "इस प्रक्रिया के लिए अनुमति दी गई चीजों" के रूप में खुद को एक्सेस करने / var / run (आमतौर पर स्टार्टअप / शटडाउन) से प्रतिबंधित करने की आवश्यकता नहीं है। अपाचे के फॉलोस्माइंल्कस को उदाहरण के लिए निर्देश दें कि यदि वांछित है, तो सेवा की गई फाइलसिस्टम को सहानुभूति रखने के लिए कैसे अनुमति दी जाए।
जो एटबर्गर

क्या हम उसी तरह / बिन और / विस्तार का विस्तार कर सकते हैं (छोटे फाइल सिस्टम में उपयोगी हो सकता है)?
रैनश

क्या आपके सिस्टम की जरूरत है /binऔर /libआरंभीकरण के समय (यानी इससे पहले कि आप mountकमांड चला सकें )? यदि ऐसा है, तो आप इस रणनीति को नियोजित नहीं कर सकते।
जो एटजबर्गर

2
यहाँ जानकारी जोड़ते हुए, जैसा कि मुझे इसकी खोज करनी थी, एक बार यहाँ init / etc / fstab जोड़ने के लिए किया जाता है जो कि फॉर्म है। जो वर्णित विधि का उपयोग करते समय mount --bind --verbose /extra-home/username /home/username, लाइन /etc/fstabहोगी/extra-home/username /home/username none defaults,bind 0 0
विल्केन

9

सुपर यूजर पर इस सवाल के अनुसार यह संभव है।

आप एक प्रतीकात्मक लिंक का उपयोग करके बना सकते हैं:

ln -s /extra-home/username /home/username

यदि यह किसी कारण से काम नहीं करता है तो आप केवल प्रतीकात्मक लिंक को हटा सकते हैं, निर्देशिका को वापस ले जा सकते हैं और अपने कंप्यूटर को रिबूट कर सकते हैं।


यदि यह एक साधारण फ़ोल्डर है जिसे आपको / media / {hardrive_name} / {your folder} से शुरू करना होगा, तो मैंने इसे डेबियन सर्वर पर आजमाया है और यह काम करता है।
जवाबसेकर

2

मैं यह कोशिश करूँगा:

रूट शेल (जैसे sudo -i) में एक अलग उपयोगकर्ता के रूप में लॉग इन करते समय, नए स्थान का स्वामित्व /home/usernameरखने /extra-home/usernameऔर सुनिश्चित करने के लिए सामग्री पर कॉपी करें username:

# cp -p /home/username /extra-home/
# chown username:username /extra-home/username

मूल /home/username/निर्देशिका को सुरक्षित स्थान पर ले जाएं :

# mv /home/username /root/

सिमलिंक बनाएँ:

# ln -s /extra-home/username /home/username

सत्यापित करें कि यह एक और टर्मिनल विंडो खोलकर और चलकर अपेक्षा के अनुसार काम कर रहा है su:

$ sudo su username

यदि सब कुछ अच्छा लग रहा है, कम से कम टर्मिनल ( /home/username/अपेक्षा के अनुसार सामग्री ), तो लॉग आउट करें और वापस लॉग इन करें (मैं मान रहा हूं कि आप उबंटू डेस्कटॉप पर हैं) और यह सामान्य रूप से काम करना चाहिए । हालाँकि, यदि ऐसा नहीं है, तो बस सिम्लिंक को हटा दें और संग्रहीत होम फ़ोल्डर को अपने मूल स्थान पर वापस ले जाएँ।

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