किसी उपयोगकर्ता को एक फ़ोल्डर में कैसे सीमित किया जाए और उसे अपने फ़ोल्डर को स्थानांतरित करने की अनुमति न दें


28

मेरे पास डिजिटलकोइन पर ubuntu सर्वर है और मैं अपने सर्वर पर अपने डोमेन के लिए किसी को एक फ़ोल्डर देना चाहता हूं, मेरी समस्या है, मैं नहीं चाहता कि उपयोगकर्ता मेरे फ़ोल्डर या फ़ाइलों को देखें या अपने फ़ोल्डर को बाहर निकालने में सक्षम हों।

मैं इस उपयोगकर्ता को अपने फ़ोल्डर में कैसे प्रतिबंधित कर सकता हूं और उसे बाहर निकलने और अन्य फ़ाइलों / निर्देशिकाओं को देखने की अनुमति नहीं देता हूं?


आप उस उद्देश्य के लिए अलग से उपयोगकर्ता खातों का उपयोग करना चाह सकते हैं।
मार्टिन वॉन विटिच

या हो सकता है जेल्किट
फ्लोइम स्वयं

chmod अच्छा समाधान नहीं है क्योंकि मैं अपने सर्वर के सभी फ़ोल्डर के लिए इसका उपयोग नहीं कर सकता, इससे पहले कि वह अपने फ़ोल्डर को स्थानांतरित कर सकता है
badr

वास्तव में मुझे समूह के बारे में कोई जानकारी नहीं है क्योंकि मैंने इसका उपयोग नहीं किया है इससे पहले कि आप मुझे केवल यह समझा सकें कि इसका क्या लाभ है?
बद्र

एक अन्य विधि - serverfault.com/questions/497011/…
स्लम

जवाबों:


26

मैंने अपनी समस्या को इस तरह हल किया:

एक नया समूह बनाएं

$ sudo addgroup exchangefiles

चिरोट निर्देशिका बनाएँ

$ sudo mkdir /var/www/GroupFolder/
$ sudo chmod g+rx /var/www/GroupFolder/

समूह-लेखन योग्य निर्देशिका बनाएँ

$ sudo mkdir -p /var/www/GroupFolder/files/
$ sudo chmod g+rwx /var/www/GroupFolder/files/

उन दोनों को नए समूह को दें

$ sudo chgrp -R exchangefiles /var/www/GroupFolder/

उसके बाद मैं गया /etc/ssh/sshd_configऔर फ़ाइल के अंत में जोड़ा गया:

Match Group exchangefiles
  # Force the connection to use SFTP and chroot to the required directory.
  ForceCommand internal-sftp
  ChrootDirectory /var/www/GroupFolder/
  # Disable tunneling, authentication agent, TCP and X11 forwarding.
  PermitTunnel no
  AllowAgentForwarding no
  AllowTcpForwarding no
  X11Forwarding no

अब मैं अपने समूह में obama नाम के साथ नया उपयोगकर्ता जोड़ने जा रहा हूं:

$ sudo adduser --ingroup exchangefiles obama

अब सब कुछ हो गया है, इसलिए हमें ssh सेवा को फिर से शुरू करना होगा:

$ sudo service ssh restart

सूचना: उपयोगकर्ता अब किसी भी चीज़ को fileनिर्देशिका से बाहर नहीं कर सकता है मेरा मतलब है कि उसकी सभी फ़ाइल फ़ाइल फ़ोल्डर में होनी चाहिए।


1
मैंने उपयोगकर्ताओं को स्विच किया sudo su - obamaऔर अभी भी यह दूसरों की फाइलें @badr
alper

11

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

उदाहरण के लिए, /bin/rkshउस उपयोगकर्ता के लिए डिफ़ॉल्ट शेल के रूप में उपयोगकर्ता के पूर्वनिर्धारित शेल के बजाय सेटिंग (एक प्रतिबंधित कोर्शेल) /etc/profile

ध्यान दें: यदि इस नाम के साथ निष्पादन योग्य आपके सिस्टम पर मौजूद नहीं है, तो एक हार्ड लिंक बनाएं ln /bin/ksh /bin/rkshऔर kshअपने नाम से निर्धारित करेंगे कि यह प्रतिबंधित है या नहीं।

प्रतिबंधित खोल (उदाहरण के लिए) एक कर जाएगा रोकने cdआदेश, या एक के साथ एक कमांड को निर्दिष्ट /मंगलाचरण में (एक स्पष्ट पथ), और इसे बदलने की अनुमति नहीं देता PATH, SHELLया ENVचर, और उत्पादन पुनर्निर्देशन भी मनाही है।

आप अभी भी उपयोगकर्ता को पूर्वनिर्धारित शेल स्क्रिप्ट प्रदान कर सकते हैं जो (स्क्रिप्ट कार्यान्वयनकर्ताओं नियंत्रण के तहत!) उपयोगकर्ता को एक अप्रतिबंधित वातावरण में उस विशिष्ट स्क्रिप्ट (ओं) को चलाने की अनुमति देगा।


यह जवाब चेरोट वातावरण स्थापित करने की तुलना में बहुत सरल होने वाला है इसलिए मैंने इसे मतदान किया है।
अज़रेई

5

कमांड chrootआपको उपयोगकर्ता के लिए एक प्रतिबंधित रूट बनाने की अनुमति देता है, यह प्रश्न इस अवधारणा को बताता है कि chrootइसका उपयोग कैसे करें और इसका उपयोग कैसे करें।

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

Ubuntu 12.04 VPS पर परीक्षण के लिए चेरोट वातावरण को कैसे कॉन्फ़िगर करें

प्रतिबंधित जेलर को एसएसएच एक्सेस करने की अनुमति कैसे दी जाए

यहाँ एक है जो जेलकिट से संबंधित है , जिसे फ्लोहिम ने खुद सुझाया था।


हाँ, वे इसे समझाते हैं, लेकिन उन्होंने यह नहीं बताया कि इसे कैसे इस्तेमाल किया जाए, मैंने कुछ तारीफ के साथ कोशिश की, लेकिन मुझे क्या मिला: चुरोट: कमांड चलाने में विफल रहा '/ बिन / बैश': ऐसी कोई फ़ाइल या निर्देशिका नहीं है
badr

1
यह सच है, लेकिन अब आपने चेरोट जेल के बारे में सुना है, आप और अधिक शोध कर सकते हैं, मैंने डिजिटल महासागर पर दस्तावेजों के कुछ लिंक के साथ अद्यतन उत्तर दिया है, जो उनके पर्यावरण के अनुरूप स्पष्टीकरण देते हैं।
X Tian
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.