हमें हाल ही में एक वर्कअराउंड मिला है जो इस प्रकार है:
/ Etc / ssh / sshd_config:
...
Subsystem sftp internal-sftp
Match Group sftponly
ChrootDirectory /home
AllowTCPForwarding no
X11Forwarding no
ForceCommand internal-sftp
निर्देशिका अनुमतियाँ:
root@server:~ # chown root:root /home
root@server:~ # chmod 111 /home
root@server:~ # chmod 700 /home/*
अब प्रतिबंधित उपयोगकर्ताओं के /home
लिए आवश्यकताओं को पूरा ChrootDirectory
नहीं किया जा सकता है और न ही उन्हें प्रतिबंधित किया जा सकता है, लेकिन sftponly
उपयोगकर्ता लॉग इन नहीं कर पाएंगे, अगर उनके घर की निर्देशिका हमेशा की तरह सेट की गई है ( /home/$LOGNAME
): विकृत वातावरण के तहत उनके घर की निर्देशिका अंदर नहीं /home
बल्कि सीधे नीचे हैं जड़ ( /
)।
समाधान 1
प्रतिबंधित उपयोगकर्ताओं के घरों को निर्धारित करें कि वे क्रोच के तहत कैसे दिखाई देते हैं:
root@server:~ # usermod -d /username username
चेतावनी 1
अगर कोई भी अप्रतिबंधित उपयोगकर्ता या कुछ प्रशासन स्क्रिप्ट बैश के टिल्ड विस्तार का उपयोग करता है, तो ~username
यह /username
अब तक विस्तारित हो जाएगा , जो कि इसका मतलब नहीं है।
साथ ही sftponly
उपयोगकर्ताओं को बनाने वाले व्यवस्थापक को गैर-डिफ़ॉल्ट घर का उपयोग करने के लिए याद रखना होगा। एक स्क्रिप्ट के साथ हल करने योग्य। जिसे उपयोग करने के लिए एडमिन को याद रखना होगा।
समाधान 2
यह पिछले एक विकल्प है जिसे हमने प्रयोग करके समाप्त किया है:
root@server:~ # ln -s . /home/home
जो कि /home
अपने स्वयं के dirname के अंदर एक सिमलिंक बनाता है । अब चेरोट /home/username
अंक के तहत उसी निर्देशिका के लिए जैसे कि चेरोट के बिना। प्रतिबंधित उपयोगकर्ता के लिए sftp के साथ लॉग इन किया जाता है, जैसा कि यह दिखाई देगा /username
। यह निर्देशिका अपने मालिक (प्रतिबंधित उपयोगकर्ता) के लिए उपयुक्त है। प्रतिबंधित उपयोगकर्ता अपने माता-पिता या किसी भी भाई-बहन के घर निर्देशिका को नाम से सूचीबद्ध नहीं कर सकता है।
एक sftponly
उपयोगकर्ता के बारे में एकमात्र खास बात है sftponly
समूह में उसकी भागीदारी । हमने वर्कअराउंड 1 से निपटना आसान पाया।
कैविएट्स 2
- आपके पास घर निर्देशिका के साथ 'घर' नाम का उपयोगकर्ता नहीं हो सकता है
/home/home
- आपको उन लिपियों से सावधान रहना होगा जो
/home
पदानुक्रम को पीछे छोड़ती हैं और सहानुभूति का पालन करती हैं।
chroot
एड यूजर्स के अपने हैंChrootDirectory
? क्या वे इसे एक्सेस कर सकते हैं?