जवाबों:
SSH एक SFTP उपयोगकर्ता को मूल रूप से चेरोटिंग का समर्थन करता है। आपको बस आपूर्ति करने की आवश्यकता है
ChrootDirectory
आपकी sshd config फाइल में, और sshd को पुनरारंभ करें।
यदि आप सिर्फ sftp कर रहे हैं, तो आपको कुछ और करने की जरूरत नहीं है। दुर्भाग्य से, यह scp के लिए काम नहीं करता है। इंटरेक्टिव शेल के लिए, आपको बायनेरिज़ की प्रतिलिपि बनाने की आवश्यकता होगी, और / देव नोड्स को चेरोट में कॉपी करना होगा।
एक उदाहरण विन्यास, सिर्फ एक उपयोगकर्ता, परीक्षक के लिए:
Match User testuser
ChrootDirectory /home/testuser
ForceCommand internal-sftp
Sshd_config मैन पेज से, अवगत होने वाली कुछ बातें:
Pathname के सभी घटकों को रूट-स्वामित्व वाली निर्देशिका होना चाहिए जो नहीं हैं किसी अन्य उपयोगकर्ता या समूह द्वारा लिखने योग्य। चुरोट के बाद, sshd (8) बदल जाता है उपयोगकर्ता के घर निर्देशिका के लिए काम कर निर्देशिका।
अधिक जानकारी के लिए आदमी sshd_config में ChrootDirectory खोजें।
Subsystem sftp /usr/lib/openssh/sftp-server
लाइन को बदलने के लिए भी आवश्यक थाSubsystem sftp internal-sftp -f AUTH -l VERBOSE
Match
सेक्शन तक ।
एक चिरौटा एक यथोचित सरल विधि है। चूंकि ऑपरेटिंग सिस्टम में पहले से ही यह सुरक्षा सुविधा है, इसलिए डेमन लेखक इसे फिर से लागू करने का प्रयास नहीं करते हैं।
रुपये चेरोट जेल की स्थापना पर एक गाइड के साथ आता है। यह CHROOT
स्रोत वितरण में फ़ाइल में है। संक्षेप में, आपके पास होना चाहिए:
/usr/bin/scp
, /usr/libexec/openssh/sftp-server
,/usr/bin/rssh_chroot_helper
{/usr,}/lib/lib*.so.[0-9]
) जो वे उपयोग करते हैं, उसी तरह नकल करते हैं/etc/passwd
(संभवतः एक प्रति नहीं है लेकिन गुरु से ली गई है)/dev/null
, /dev/tty
, और यह भी एक /dev/log
प्रवेश के लिए सॉकेट (और आप उस सॉकेट पर सुनने के लिए अपने syslog डेमॉन बताने की आवश्यकता)अतिरिक्त टिप जो कि rssh डॉक्यूमेंटेशन में नहीं है: यदि आपको चिरोट जेल में सुलभ होने के लिए कुछ फ़ाइलों की आवश्यकता है, तो आप जेल के बाहर से अतिरिक्त निर्देशिका पदानुक्रम बनाने के लिए bindfs या Linux का उपयोग कर सकते हैं mount --bind
। bindfs
अनुमति निर्देशिका को और अधिक प्रतिबंधात्मक अनुमति है, उदाहरण के लिए केवल पढ़ने के लिए। ( mount --bind
जब तक आप कर्नेल पैच नहीं लगाते हैं, डेबियन ने इस पैच को पूर्वी लेन में शामिल किया है, लेकिन अधिकांश अन्य वितरण 2011 के अनुसार नहीं हैं।)
आप scponly (या हाल ही में, rssh ) को देखना चाह सकते हैं ; यह अनिवार्य रूप से एक लॉगिन शेल है जिसका उपयोग केवल scp या sftpd सबसिस्टम को लॉन्च करने के लिए किया जा सकता है। में scponlyc
संस्करण यह प्रश्न में सबसिस्टम सक्रिय करने से पहले एक chroot प्रदर्शन करती है।