การเปลี่ยนล็อกอินเชลล์ไม่จำเป็นต้องป้องกันผู้ใช้จากการพิสูจน์ตัวตน (ยกเว้นในบางบริการที่ตรวจสอบว่ามีการกล่าวถึงเชลล์ของผู้ใช้หรือไม่/etc/shells)
ผู้คนยังคงสามารถรับรองความถูกต้องกับบริการต่างๆที่ระบบของคุณมอบให้แก่ผู้ใช้ระบบปฏิบัติการยูนิกซ์และอาจได้รับอนุญาตให้ดำเนินการบางอย่างแม้ว่าอาจจะไม่ได้รันคำสั่งโดยพลการโดยตรง
การเปลี่ยนเชลล์เป็น/bin/falseหรือ/usr/sbin/nologinจะป้องกันไม่ให้คำสั่งที่รันบนเซอร์วิสเหล่านั้นที่สามารถใช้เพื่อรันคำสั่ง (ล็อกอินคอนโซล, ssh, telnet, rlogin, rexec ... ) ดังนั้นส่งผลกระทบต่อการอนุญาตสำหรับบางบริการเท่านั้น
ตัวอย่างsshเช่นยังคงอนุญาตให้ทำการส่งต่อพอร์ต
passwd -lจะปิดการใช้งานการตรวจสอบรหัสผ่าน แต่ผู้ใช้อาจได้รับอนุญาตให้ใช้วิธีการตรวจสอบสิทธิ์อื่น ๆ (เช่นเดียวauthorized_keysกับssh)
ด้วยpamบน Linux อย่างน้อยคุณสามารถใช้pam_shellsโมดูลเพื่อ จำกัด การตรวจสอบหรือการอนุญาตให้ผู้ใช้ที่มีเปลือกที่ได้รับอนุญาต (ที่ระบุไว้ใน/etc/shells) สำหรับsshคุณจะต้องดำเนินการที่ระดับการอนุมัติ ( account) เช่นเดียวกับการรับรองความถูกต้องsshdใช้pam นอกเหนือจากวิธีการรับรองความถูกต้องอื่น ๆ (เช่นauthorized_keys) หรือคุณสามารถทำได้ด้วยsshd_configคำสั่งใน/etc/ssh/sshd_config(เช่นAllowUsersและเพื่อน ๆ )
ระวังแม้ว่าการเพิ่มข้อ จำกัด บางอย่างในการให้สิทธิ์ pam ทั่วโลกอาจป้องกันไม่ให้มีการเรียกใช้cronงานในฐานะผู้ใช้เหล่านั้น
/bin/false/bin/trueดูเหมือนว่าพบได้บ่อยกว่า