ओपनएसएसएच 4.9 पी 1 के रिलीज के साथ, अब आपको उपयोगकर्ताओं को अपने घर निर्देशिकाओं तक सीमित करने या उन्हें SFTP सेवाओं तक पहुंच प्रदान करने के लिए तीसरे पक्ष के हैक या जटिल चेरोट सेटअप पर भरोसा नहीं करना होगा।
कुछ वितरण पर / etc / ssh / sshd_config (/ etc / sshd_config) संपादित करें और निम्नलिखित विकल्प सेट करें:
Subsystem sftp internal-sftp
Match Group sftp
ChrootDirectory %h
ForceCommand internal-sftp
AllowTcpForwarding no
सुनिश्चित करें कि "मिलान" निर्देश फ़ाइल के अंत में है। यह ओपनएसएसएच को बताता है कि sftp समूह के सभी उपयोगकर्ताओं को उनके होम डायरेक्टरी (जो% h चेरोटडायरेक्टरी कमांड में% h का प्रतिनिधित्व करता है) को दिया जाना है।
किसी भी उपयोगकर्ता के लिए जिसे आप चुरोट करना चाहते हैं, उन्हें उपयोग करके sftp समूह में जोड़ें:
# usermod -G sftp joe
# usermod -s /bin/false joe
# chown root:root /home/joe
# chmod 0755 /home/joe
उपर्युक्त usermod कमांड sftp ग्रुप में यूजर जो को जोड़ेगा और उनके शेल को / bin / false पर सेट करेगा ताकि वे कभी भी शेल एक्सेस प्राप्त न कर सकें। चाउने और चामोड कमांड निर्देशिका के लिए आवश्यक अनुमतियाँ सेट करेंगे। इन अनुमतियों के सेट के साथ, उपयोगकर्ता को फ़ाइलों को अपलोड करने और डाउनलोड करने की अनुमति दी जाएगी, लेकिन रूट निर्देशिका में निर्देशिका या फ़ाइलें नहीं बना सकते हैं
चेरोटिंग शेल खाते थोड़े अधिक जटिल हैं क्योंकि इसके लिए आवश्यक है कि कुछ डिवाइस फाइलें और एक शेल उपयोगकर्ता के होम डायरेक्टरी में उपलब्ध हों। निम्न आदेशों में मांडिराव लिनक्स पर एक बहुत ही बुनियादी वर्ण व्यवस्था स्थापित होगी:
# mkdir /chroot
# cd /chroot
# mkdir {bin,dev,lib}
# cp -p /bin/bash bin/
# cp -p /lib/{ld-linux.so.2,libc.so.6,libdl.so.2,libtermcap.so.2} lib/
# mknod dev/null c 1 3
# mknod dev/zero c 1 5
# chmod 0666 dev/{null,zero}
# mkdir -p /chroot/home/joe
उपर्युक्त के साथ, उपयोगकर्ता जॉय में ssh कर सकता है और चेरोट तक सीमित रहेगा। दुर्भाग्य से, यह बहुत कुछ नहीं करता है, लेकिन यह आपको एक विचार देता है कि इसे कैसे सेट किया जा सकता है। आप जो प्रदान करना चाहते हैं, उसके आधार पर आपको अतिरिक्त पुस्तकालय और बायनेरिज़ स्थापित करने की आवश्यकता होगी।
चुरोट बनाना
Dchroot और debootstrap पैकेज स्थापित करें।
एक व्यवस्थापक के रूप में (अर्थात sudo का उपयोग करके), chroot के लिए एक नई निर्देशिका बनाएं। इस प्रक्रिया में, निर्देशिका /var/chroot
का उपयोग किया जाएगा। ऐसा करने के लिए, sudo mkdir /var/chroot
कमांड लाइन में टाइप करें ।
एक व्यवस्थापक के रूप /etc/schroot/schroot.conf
में, एक पाठ संपादक में खोलें
। टाइप करें cd /etc/schroot
, उसके बाद gksu gedit schroot.conf
। यह आपको फ़ाइल को संपादित करने की अनुमति देगा।
निम्नलिखित पंक्तियों को जोड़ें schroot.conf
और फिर फ़ाइल को सहेजें और बंद करें। your_username
अपने उपयोगकर्ता नाम के साथ बदलें
।
]
एक टर्मिनल खोलें और टाइप करें:
sudo debootstrap --variant=buildd --arch i386 lucid /var/chroot/ \
http://mirror.url.com/ubuntu/
यह चेरोट में उबंटू 10.04 (ल्यूसिड लिंक्स) का एक बुनियादी 'इंस्टॉलेशन' बनाएगा। संकुल को डाउनलोड होने में कुछ समय लग सकता है। नोट: आप अपनी पसंद के उबंटू संस्करण के साथ ल्यूसिड को बदल सकते हैं। नोट: आपको ऊपर mirror.url.com
एक मान्य संग्रह दर्पण के URL के साथ स्थानीय परिवर्तन करना होगा । एक बुनियादी चुरोट अब बनाया जाना चाहिए था। sudo chroot /var/chroot
चेरोट के अंदर एक रूट शेल में बदलने के लिए टाइप करें।
चेरोट सेट करना
कुछ बुनियादी कदम हैं जिन्हें आप चेरोट सेट-अप करने के लिए ले सकते हैं, डीएनएस रिज़ॉल्यूशन और एक्सेस जैसी सुविधाएं प्रदान कर सकते हैं /proc
।
नोट: इन कमांड को एक शेल में टाइप करें जो चेरोट के बाहर है।
/proc
चिरोट में फाइल सिस्टम को माउंट करने के लिए निम्नलिखित टाइप करें (प्रबंध प्रक्रियाओं के लिए आवश्यक):
sudo mount -o bind /proc /var/chroot/proc
Chroot के भीतर से DNS रिज़ॉल्यूशन की अनुमति देने के लिए निम्नलिखित टाइप करें (इंटरनेट एक्सेस के लिए आवश्यक):
sudo cp /etc/resolv.conf /var/chroot/etc/resolv.conf
बहुत ही कम पैकेज डिफ़ॉल्ट रूप से चेरोट में स्थापित किए जाते हैं (यहां तक कि sudo स्थापित नहीं है)। apt-get install package_name
पैकेज स्थापित करने के लिए उपयोग करें ।