/etc/security/access.conf: Explanation & Insights

What is /etc/security/access.conf?

/etc/security/access.conf is a security configuration file that is used to control access to your server. It is part of the PAM (Pluggable Authentication Modules) system, a flexible mechanism for authenticating users.

Importance of /etc/security/access.conf

This file is crucial for managing user access on your server. By correctly configuring this file, you can add an extra layer of security to your system, restricting remote login to only certain users, and blocking others.

What does /etc/security/access.conf contain?

The file contains rules determining who can access the system. Each rule in the file consists of three colon-separated fields: permission, users, and origins.


For instance, a rule might look like this:


This rule denies access to all users from all sources except local logins.

How to use /etc/security/access.conf

To edit the access.conf file, use a text editor such as nano or vi. For example:

sudo nano /etc/security/access.conf

To deny remote login to all users except root and user1, add the following line:

-:ALL EXCEPT root user1:ALL

Save and exit the file. Then, you need to configure PAM to use this file. Open the file /etc/pam.d/sshd and add the following line to the top:

account required pam_access.so

This will apply the rules in access.conf to SSH logins.

Troubleshooting with /etc/security/access.conf

The /etc/security/access.conf file can be a useful tool for diagnosing problems related to user access. If some users are unable to login to your server, it could be due to incorrect entries in this file.


The /etc/security/access.conf file is a powerful tool for managing user access to your Linux server. With a proper understanding of this file, you can enhance the security of your server and control who can access your system. A word of caution: handle with care, as incorrect configurations can lock you out of your own system!

The text above is licensed under CC BY-SA 4.0 CC BY SA