OS X में केवल दूरस्थ उपयोगकर्ता बनाएँ?


15

मैं OS X पर एक उपयोगकर्ता बनाना चाहता हूं जिसके पास दूरस्थ ssh लॉगिन विशेषाधिकार हैं जहां वे एक निश्चित फ़ोल्डर / पथ / से / / माल तक पहुंच सकते हैं या मैन्युअल रूप से या rsync के माध्यम से फ़ाइलों को जोड़ / संशोधित / हटा सकते हैं जबकि शेष मैक बंद सीमा (उनके घर निर्देशिका के बाहर) है।

आदर्श रूप से उपयोगकर्ता के पास rsync के अलावा किसी अन्य प्रोग्राम को चलाने के लिए पहुँच नहीं होनी चाहिए।

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

मैं यह कैसे हासिल कर सकता हूं?

जवाबों:


9

ऐसा करने का सबसे अच्छा तरीका उपयोगकर्ता के लिए चेरोट जेल बनाना है। जब मैं घर पहुँचता हूँ तो यहाँ उत्तर को साफ़ कर देता हूँ लेकिन मैंने अपने ब्लॉग पर समाधान पोस्ट कर दिया है।

https://thefragens.com/chrootd-sftp-on-mac-os-x-server/

नीचे उपरोक्त पोस्ट से अधिकांश निर्देश हैं।

सबसे पहले, आपको कार्यसमूह व्यवस्थापक में नया उपयोगकर्ता बनाना चाहिए और या तो उन्हें सर्वर व्यवस्थापक के माध्यम से एसएसएच के लिए विशेषाधिकार प्रदान करना होगा या उन्हें ऐसे समूह को सौंपना होगा जिनके पास एसएसएच एक्सेस विशेषाधिकार हैं। आगे की चर्चा नीचे है।

टर्मिनल से, राइट ऑफ शुरू करें।

sudo cp /etc/sshd_config /etc/sshd_config.bkup

sudo chown root /
sudo chmod 755 /
sudo mkdir -p /chroot/user/scratchpad
sudo chown -R root /chroot
sudo chown user /chroot/user/scratchpad
sudo chmod -R 755 /chroot

जोड़ा गया प्रत्येक अतिरिक्त नया उपयोगकर्ता फिर निम्नलिखित की तर्ज पर कुछ होगा।

sudo mkdir -p /chroot/user2/scratchpad
sudo chown root /chroot/user2
sudo chown user2 /chroot/user2/scratchpad
sudo chmod -R 755 /chroot/user2

हर फ़ोल्डर में यह चेरोट जेल के लिए मार्ग होना चाहिए root। मुझे नहीं लगता कि यह मायने रखता है कि फ़ोल्डर किस समूह में है। मैंने ऊपर क्या किया था

  1. बैकअप /etc/sshd_config
  2. रूट निर्देशिका के स्वामित्व को बदलें root
  3. रूट निर्देशिका की अनुमतियों को 755 में बदलें
  4. एक चेरोट फ़ोल्डर बनाएँ
  5. chroot फ़ोल्डर के अंदर एक उपयोगकर्ता फ़ोल्डर बनाएँ
  6. उपयोगकर्ता फ़ोल्डर के अंदर एक फ़ोल्डर बनाएं जिसे उपयोगकर्ता संशोधित कर सकता है
  7. स्वामित्व और अनुमतियां सेट करें

अब /etc/sshd_configनिम्नलिखित को संपादित करने के लिए।

#Subsystem  sftp    /usr/libexec/sftp-server
Subsystem   sftp    internal-sftp

Match User user
    X11Forwarding no
    AllowTcpForwarding no
    ForceCommand internal-sftp
    ChrootDirectory /chroot/user

यह एक चिरोट जेल बनाता है कि जब उपयोगकर्ता लॉग इन करके फ़ोल्डर में छोड़ देगा /chroot/user, उस फ़ोल्डर में एक फ़ोल्डर होता है जिसमें वे चीजों को जोड़ सकते हैं /chroot/user/scratchpad

अगर आप Users चेरोट यूजर्स ’के लिए वर्कग्रुप एडमिन में एक ग्रुप बनाना चाहते हैं तो ग्रुप में जो नए यूजर्स आपने वर्कग्रुप में बनाए हैं उन्हें ग्रुप में एड करें, आपको /etc/sshd_configफाइल को एडिट करना नहीं पड़ेगा । उपरोक्त के बजाय, निम्नलिखित जोड़ें। सुनिश्चित करें कि आप सर्वर व्यवस्थापक में SSH पहुँच ACL में 'चेरोट उपयोगकर्ता' समूह जोड़ते हैं।

Match Group chrootusers
    X11Forwarding no
    AllowTcpForwarding no
    ForceCommand internal-sftp
    ChrootDirectory /chroot/%u

परीक्षण करने के लिए कि ऊपर काम कर रहा है, टर्मिनल से निम्नलिखित जारी करें।

$ sftp user@domain.com
Password:
sftp>

बस अपनी समस्याओं को हल करने और मामले में दस्तावेजीकरण करने के लिए मुझे इसे फिर से करने की आवश्यकता है। ;-)
afragen
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.