उपयोगकर्ताओं के लिए सांबा पासवर्ड बदलने की विधि


10

मेरे पास लगभग 5 उपयोगकर्ताओं (सुरक्षा = उपयोगकर्ता) के लिए एक सांबा सर्वर है और मैं इन उपयोगकर्ताओं को अपनी भागीदारी के बिना अपने पासवर्ड को बदलने का एक तरीका चाहता हूं ताकि मेरे पास निम्न विचार हो। क्या यह सुरक्षित है? क्या एक बेहतर (अधिक सरल में) दृष्टिकोण है। हमारे पास इसके लिए स्वाट हुआ करता था लेकिन अब और नहीं।


सर्वर पर: प्रतिबंधित उपयोगकर्ता (/ बिन / rbash + PATH को एकल निर्देशिका) बनाएँ

$ sudo adduser --shell /bin/rbash pwchange

$ cat /etc/passwd
  pwchange:x:1001:1001:pwchange,,,:/home/pwchange:/bin/rbash

$ sudo vi /home/pwchange/.bashrc
  Add:
  export PATH=/usr/local/pwchange

$ sudo ln -s /usr/bin/smbpasswd /usr/local/pwchange/smbpasswd

यह विचार यहाँ है कि केवल sambpasswd कमांड को pwchange उपयोगकर्ता द्वारा चलाया जा सकता है। सांबा उपयोगकर्ताओं के यूनिक्स खातों में पासवर्ड नहीं होते हैं (अर्थात इन खातों के माध्यम से लॉग ऑन करने की अनुमति नहीं है)। सांबा उपयोगकर्ता केवल स्वयं सेवा सांबा पासवर्ड परिवर्तन के लिए इस प्रतिबंधित खाते का उपयोग करने में सक्षम होंगे ... सर्वर की खोज नहीं!


ग्राहक: टर्मिनल या पोटीन (विंडोज) के माध्यम से सांबा पासवर्ड बदलें

user1@A3700:~$ ssh pwchange@192.168.1.14

pwchange@V220:~$ smbpasswd -U user1
Old SMB password:
New SMB password:
Retype new SMB password:
Password changed for user user1

लेकिन मुझे लगा कि smbpasswdउपयोगकर्ताओं और व्यवस्थापक के लिए अपने पासवर्ड बदलने के लिए समान था ... क्या आप यही चाहते हैं?
जॉर्ज उदेन

इस स्थिति में उपयोगकर्ताओं के यूनिक्स खातों में पासवर्ड नहीं होते हैं, इसलिए उपयोगकर्ता 1 user1@192.168.14 के रूप में लॉग ऑन नहीं कर सकता है। सांबा सर्वर "सुरक्षा = उपयोगकर्ता" के रूप में सेटअप किया गया था और फ़ाइल प्रतिबंध smb.conf में सेट किए गए थे। उपयोगकर्ताओं को एक यूनिक्स लॉगऑन की अनुमति नहीं थी क्योंकि अंतर्निहित यूनिक्स फ़ाइल अनुमतियां सांबा और यूनिक्स फ़ाइल अनुमतियों के संयोजन की तुलना में अधिक अनुमेय थीं (यूनिक्स विस्तारित एसीएल का उपयोग नहीं किया गया था।)
brucehohl

मेरे कॉलेज में हमारे पास एक सेल्फ सर्विंग पोर्टल था जिसे उपयोगकर्ता आईडी और एसएमएस सत्यापन का उपयोग करके प्रमाणित कर सकते हैं, और पृष्ठभूमि में हमने smbpasswd कमांड जारी किया
राबिन

जवाबों:


1

उन सभी को एक ही डमी खाते तक पहुंच देना स्मार्ट नहीं लगता है। यहां तक ​​कि अगर आप इसे कुछ भी नहीं करने के लिए उपयोग करने के लिए बंद कर देते हैं, लेकिन smbpasswdवे अभी भी प्रत्येक अभिभावक के पासवर्ड को बदल सकते हैं। और हमेशा एक दुर्भावनापूर्ण विशेषाधिकार वृद्धि की संभावना है।

अनिवार्य रूप से यह ऐसा लगता है जैसे आप चाहते हैं कि उन्हें smbpasswdखाते के समतुल्य रहते हुए केवल अपने उपयोगकर्ता खाते से केवल कमांड चलाने की अनुमति दी जाए nologin

यह आपके sshd_config में "ForceCommand" विकल्प के उपयोग के साथ पूरा किया जा सकता है।

इसे इस्तेमाल करे:

  1. प्रत्येक उपयोगकर्ता को उसी समूह में सांबा खाता सदस्यता प्रदान करें। हमारे उदाहरण के लिए "sambaOnly" कहते हैं:

    #From Root
    groupadd sambaOnly
    usermod -a -G sambaOnly Joe
    
  2. इसके बाद, हम अपने sshd_config फ़ाइल को निम्न में बदलना चाहते हैं:

    #From Root
    cat << EOF >> /etc/ssh/sshd_config
    Match Group sambaOnly
        ForceCommand smbpasswd
    EOF
    

Presto। मेरी समझ से (और संक्षिप्त परीक्षण) इसका मतलब है कि जब वे एसएसएच के माध्यम से लॉगिन करते हैं तो उनके पास स्वचालित रूप से smbpasswdकमांड रन होगा और उन्हें तदनुसार संकेत दिया जाएगा। उन्हें शेल एक्सेस का मौका कभी नहीं मिलेगा। आदेश पूरा होने के बाद वे स्वचालित रूप से डिस्कनेक्ट हो जाते हैं, फिर से शेल एक्सेस करने का मौका कभी नहीं मिलता है।

मुझे 100% यकीन नहीं है कि यह दूर से मशीन तक सभी पहुंच को हटा देता है। उदाहरण के लिए, यदि आप एक ही मशीन पर एक अलग एसएसएच सर्वर चला रहे हैं जो ForceCommandउन्हें नहीं करता है, तो वे इसके एक्सेस कंट्रोल कॉन्फिग के आधार पर उस के माध्यम से लॉगिन कर सकते हैं।

इसके अलावा, अगर उनके पास टर्मिनल तक भौतिक पहुंच का अवसर है तो वे लॉगिन कर सकते हैं।

हालांकि, मुझे लगता है कि ज्यादातर स्थितियों के लिए यह काफी मजबूत अभिगम नियंत्रण है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.