मुख्य सामग्री पर जाएँ
TURNKEYGNU / LINUX
ऐपदस्तावेज़Forumब्लॉगस्क्रीनशॉटGitHubTurnKey Hub
文हिंदी
EnglishDeutschEspañol日本語Portuguêsहिंदी中文
होम/कैसे एक जेल SFTP उपयोगकर्ता (chroot जेल) बनाने के लिए

दस्तावेज़

कैसे एक जेल SFTP उपयोगकर्ता (chroot जेल) बनाने के लिए

AWS मार्केटप्लेस उपयोगकर्ताओं के लिए महत्वपूर्ण नोट:

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

sudo su

और जब समाप्त हो गया:

exit

यहाँ हम जाने...

सभी TurnKey सर्वर SFTP पूर्व-configured और सक्षम के साथ आते हैं। हालांकि, डिफ़ॉल्ट रूप से सभी उपयोगकर्ताओं ने पूरे फाइल सिस्टम तक पहुंच पढ़ी है। जब तक आप उन्हें पढ़ने वाली फ़ाइलों को ध्यान में नहीं रखते हैं, तब तक यह एक मुद्दा नहीं हो सकता क्योंकि डिफ़ॉल्ट नए गैर-निजी उपयोगकर्ताओं ने अपने घर डायरेक्टरी को छोड़कर कहीं भी एक्सेस नहीं लिखी है। (आमतौर पर /home/USERNAME), प्लस कहीं भी आप स्पष्ट रूप से उन्हें पहुंच लिखने देते हैं। अतिरिक्त रूप से, SFTP को SSH द्वारा प्रदान किया जाता है, डिफ़ॉल्ट रूप से वे SSH शेल में भी लॉग इन कर सकते हैं। वे क्या कर सकते हैं फिर से सीमित हो जाएंगे, लेकिन यह अभी भी संभव नहीं है।

So in a scenario where you only want SFTP users to log in via SFTP (and not SSH) and you want them locked in their own directory (i.e. "chroot जेल" के रूप में जाना जाता है तो आप SSH/SFTP को उसको करने के लिए कॉन्फ़िगर कर सकते हैं।

नीचे मैंने आवश्यक कमांड दिए हैं। वे स्क्रिप्ट फॉर्म में हैं ताकि कमांडलाइन को कॉपी/पेस्ट किया जा सके। कृपया ध्यान दें, मैंने कमांड आइडमेटेंट (i.e.) बनाने की कोशिश की है। यदि आप उन्हें कई बार चलाते हैं तो चीजें नहीं तोड़ती हैं लेकिन मैंने बड़े पैमाने पर इसका परीक्षण नहीं किया है। इसलिए यदि आप इसके कुछ हिस्सों को फिर से चलाते हैं, तो ऐसा मौका है कि आपके पास अप्रत्याशित परिणाम हो सकते हैं। उपयोगकर्ता से संबंधित कमांड को एक नए उपयोगकर्ता (NEW_USER के मूल्य को बदलने) के लिए फिर से चलाया जा सकता है, लेकिन sftp_users समूह और SSH config को जोड़ने के लिए केवल एक बार किया जाना चाहिए। यदि आपको SSH विन्यास सेटिंग्स को ट्वीक करने की आवश्यकता है, तो मैं अनुशंसा करता हूं कि आप मैन्युअल रूप से config फ़ाइल संपादित करें।

एक बार फिर भागें

आवश्यक समूह बनाएँ:

groupadd sftp_users

एक बार नया उपयोगकर्ता चलाने के लिए

एक नया उपयोगकर्ता जोड़ें। मैं यहाँ "newuser" नाम का उपयोग कर रहा हूँ, लेकिन आप जो भी नाम आप की तरह इस्तेमाल कर सकते हैं, हालांकि मैं दृढ़ता से सुझाव देता हूँ कि आप केवल लोअरकेस वर्णों का उपयोग न करें, बल्कि विशेष वर्णों के साथ कर सकते हैं। यदि आप अतिरिक्त उपयोगकर्ताओं को जोड़ना चाहते हैं, तो "NEW_USER" (नीचे पहली पंक्ति में) के मान को बदल दें:

NEW_USER="newuser"
useradd -G sftp_users -s /sbin/nologin $NEW_USER
passwd $NEW_USER

एक बार जब आपने नए उपयोगकर्ता के लिए पासवर्ड सेट किया है और इसकी पुष्टि की है, तो नया उपयोगकर्ता खाता बनाने के लिए पूरा करें:

mkdir -p /home/$NEW_USER/files
chown root:root /home/$NEW_USER
chown $NEW_USER:$NEW_USER /home/$NEW_USER/files
chmod 700 /home/$NEW_USER/files
usermod -d /files $NEW_USER

एक बार फिर दौड़ें!

इसके बाद हमें SSH/SFTP को फिर से कॉन्फ़िगर करने की आवश्यकता है। ऐसा करने के लिए हमें SSH config फ़ाइल (/etc/ssh/sshd_config).) को संपादित करना होगा। कृपया ध्यान दें, यह केवल किया जाना चाहिए एक बार.:

CONF=/etc/ssh/sshd_config
SEARCH="Subsystem sftp \/usr\/lib\/openssh\/sftp-server"
NEW_LINE="Subsystem sftp internal-sftp"

sed -i "/^$SEARCH/ s|^|#|" $CONF
sed -i "/$NEW_LINE/d" $CONF
sed -i "/$SEARCH/a\\$NEW_LINE" $CONF
if ! grep "Match Group sftp_users" $CONF >/dev/null; then
    cat >> $CONF <<EOF

Match Group sftp_users
  X11Forwarding no
  AllowTcpForwarding no
  ChrootDirectory /home/%u
  ForceCommand internal-sftp
EOF
fi

अंतिम चरण SSH को पुनरारंभ कर रहा है:

service ssh restart

यदि आपको अपने SSH सेटिंग्स को आगे बढ़ाने की आवश्यकता है, तो कृपया नैनो जैसे टेक्स्ट एडिटर का उपयोग करके मैन्युअल रूप से कॉन्फ़िगर फ़ाइल को संपादित करें।

nano /etc/ssh/sshd_config

उपयोगकर्ता अपने घर में स्वचालित रूप से sftp (/home/user/files).) करेंगे वे माता-पिता निर्देशिका (/home/user)) को सीडी करने में सक्षम होंगे लेकिन वहाँ पढ़ने के अलावा कुछ और नहीं होगा (और किसी भी उच्च ब्राउज़ नहीं कर सकते)।

Additional notes: If you wish to allow your chrooted SFTP user a little more flexibility (e.g. allow scp and/or rsync), then instead of giving them a /sbin/nologin shell, install rssh (apt-get install rssh) और उन्हें /usr/bin/rssh शेल दें।

TURNKEYGNU / LINUX

शुरू से सब कुछ बनाए बिना अपना इन्फ़्रास्ट्रक्चर खुद सँभालें।

TurnKey के बारे में जानें
परिचयदस्तावेज़Forumआम सवालब्लॉगGitHub
मुफ़्त और ओपन सोर्ससुरक्षा पहले से शामिलचलाने के लिए तैयार