लॉगिन शेल को बदलना जरूरी नहीं है कि उपयोगकर्ताओं को प्रमाणित करने से रोका जाए (कुछ सेवाओं को छोड़कर जो यह जांचते हैं कि उपयोगकर्ता के शेल का उल्लेख है /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_keyssshd_config/etc/ssh/sshd_configAllowUsers
हालांकि सावधान रहें कि वैश्विक पीएएम प्राधिकरण में कुछ प्रतिबंधों को जोड़ना संभवतः cronउन उपयोगकर्ताओं के रूप में नौकरियों को चलाने से रोक देगा ।
/bin/falseसे अधिक सामान्य लगता है/bin/true।