How to disable an user account in Linux

What is the correct way to disable all remote access to an account. Clearly, “passwd -l” (and by the same token, “usermod -L”) is insufficient because that will not impact authentication by SSH public key (or other PAM modules other than pam_unix that may be enabled).

Additionally, changing the shell to /bin/false or /sbin/nologin is unsatisfactory since this only affects interactive logins.
Expiring the account via the chage utility (e.g. “chage -E 1 ” will disable all access methods that use pam authentication.
Changing the shell (eg to /bin/false) is not recommended because this will only prevent interactive shell sessions for the user; since (eg) ssh port-forwarding does not require a shell (when invoked with -N option), changing the shell will not prevent users from getting authenticated and starting port forwarding.
Likewise, simply using the old “passwd -l” or “usermod -L” methods of locking accounts only blocks authentication that uses the password stored in the local passwd file. Since other authentication methods are becoming more and more popular (most notably, ssh public key authentication), this method is clearly unacceptable.
Making the account expired vua “chage -E” will block all access methods that use PAM authentication.

About Manish Jha

Hi All I am Manish Kumar Jha aka Alex Hunt. I am currently working as Sr MTS in VMware Software India Pvt Ltd. I have around 9 Years of IT experience and have exposure on VMware vSphere, vCloud Director, VMware NSX, vSphere Replication & VMware HCX. If you find any post informational to you please press like and share it across social media and leave your comments if you want to discuss further on any post. Disclaimer: All the information on this website is published in good faith and for general information purpose only. I don’t make any warranties about the completeness, reliability and accuracy of this information. Any action you take upon the information you find on this blog is strictly at your own risk. The Views and opinions published on this blog are my own and not the opinions of my employer or any of the vendors of the product discussed.
This entry was posted in Linux/CentOS. Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s