लॉगिन शेल को बदलना जरूरी नहीं है कि उपयोगकर्ताओं को प्रमाणित करने से रोका जाए (कुछ सेवाओं को छोड़कर जो यह जांचते हैं कि उपयोगकर्ता के शेल का उल्लेख है /etc/shells
)।
लोग अभी भी विभिन्न सेवाओं को प्रमाणित करने में सक्षम हो सकते हैं जो आपके सिस्टम को यूनिक्स उपयोगकर्ताओं को प्रदान करता है, और अभी भी कुछ कार्यों को करने के लिए अधिकृत किया जा सकता है, भले ही वे सीधे मनमाना आदेश न चलाएं।
शेल को बदलने /bin/false
या करने /usr/sbin/nologin
से केवल उन सेवाओं पर कमांड चलाने से रोका जा सकेगा जिनका उपयोग कमांड चलाने के लिए किया जा सकता है (कंसोल लॉगिन, ssh, telnet, rlogin, rexec ...), इसलिए केवल कुछ सेवाओं के लिए प्राधिकरण को प्रभावित करें ।
उदाहरण ssh
के लिए, यह अभी भी उन्हें पोर्ट अग्रेषण करने की अनुमति देता है।
passwd -l
पासवर्ड प्रमाणीकरण अक्षम हो जाएगा, लेकिन उपयोगकर्ता अभी भी अन्य प्रमाणीकरण तरीकों (जैसे उपयोग करने के लिए अनुमति दी जा सकती authorized_keys
साथ ssh
)।
साथ pam
कम से कम लिनक्स पर, आप उपयोग कर सकते हैं pam_shells
एक की अनुमति दी खोल (उन में उल्लेख के साथ उपयोगकर्ताओं के लिए प्रमाणीकरण या प्राधिकरण को प्रतिबंधित करने के मॉड्यूल /etc/shells
)। के लिए ssh
, आप इसे अन्य प्रमाणीकरण विधियों (जैसे ) के अलावाaccount
प्रमाणीकरण sshd
उपयोग के लिए प्राधिकरण ( ) स्तर पर करना चाहेंगे , या आप इसे (जैसे और दोस्तों) में निर्देशों के साथ कर सकते हैं ।pam
authorized_keys
sshd_config
/etc/ssh/sshd_config
AllowUsers
हालांकि सावधान रहें कि वैश्विक पीएएम प्राधिकरण में कुछ प्रतिबंधों को जोड़ना संभवतः cron
उन उपयोगकर्ताओं के रूप में नौकरियों को चलाने से रोक देगा ।
/bin/false
से अधिक सामान्य लगता है/bin/true
।