{
    "mode": "man",
    "parameter": "pam_limits",
    "section": "8",
    "url": "https://www.chedong.com/phpMan.php/man/pam_limits/8/json",
    "generated": "2026-06-13T23:37:05Z",
    "synopsis": "pamlimits.so [conf=/path/to/limits.conf] [debug] [setall] [utmpearly] [noaudit]",
    "sections": {
        "NAME": {
            "content": "pamlimits - PAM module to limit resources\n",
            "subsections": []
        },
        "SYNOPSIS": {
            "content": "pamlimits.so [conf=/path/to/limits.conf] [debug] [setall] [utmpearly] [noaudit]\n",
            "subsections": []
        },
        "DESCRIPTION": {
            "content": "The pamlimits PAM module sets limits on the system resources that can be obtained in a\nuser-session. Users of uid=0 are affected by this limits, too.\n\nBy default limits are taken from the /etc/security/limits.conf config file. Then individual\n*.conf files from the /etc/security/limits.d/ directory are read. The files are parsed one\nafter another in the order of \"C\" locale. The effect of the individual files is the same as\nif all the files were concatenated together in the order of parsing. If a config file is\nexplicitly specified with a module option then the files in the above directory are not\nparsed.\n\nThe module must not be called by a multithreaded application.\n\nIf Linux PAM is compiled with audit support the module will report when it denies access\nbased on limit of maximum number of concurrent login sessions.\n",
            "subsections": []
        },
        "OPTIONS": {
            "content": "conf=/path/to/limits.conf\nIndicate an alternative limits.conf style configuration file to override the default.\n",
            "subsections": [
                {
                    "name": "debug",
                    "content": "Print debug information.\n\nsetall\nSet the limits for which no value is specified in the configuration file to the one from\nthe process with the PID 1. Please note that if the init process is systemd these limits\nwill not be the kernel default limits and this option should not be used.\n\nutmpearly\nSome broken applications actually allocate a utmp entry for the user before the user is\nadmitted to the system. If some of the services you are configuring PAM for do this, you\ncan selectively use this module argument to compensate for this behavior and at the same\ntime maintain system-wide consistency with a single limits.conf file.\n"
                },
                {
                    "name": "noaudit",
                    "content": "Do not report exceeded maximum logins count to the audit subsystem.\n"
                }
            ]
        },
        "MODULE TYPES PROVIDED": {
            "content": "Only the session module type is provided.\n",
            "subsections": []
        },
        "RETURN VALUES": {
            "content": "PAMABORT\nCannot get current limits.\n\nPAMIGNORE\nNo limits found for this user.\n\nPAMPERMDENIED\nNew limits could not be set.\n\nPAMSERVICEERR\nCannot read config file.\n\nPAMSESSIONERR\nError recovering account name.\n\nPAMSUCCESS\nLimits were changed.\n\nPAMUSERUNKNOWN\nThe user is not known to the system.\n",
            "subsections": []
        },
        "FILES": {
            "content": "/etc/security/limits.conf\nDefault configuration file\n",
            "subsections": []
        },
        "EXAMPLES": {
            "content": "For the services you need resources limits (login for example) put a the following line in\n/etc/pam.d/login as the last line for that service (usually after the pamunix session line):\n\n#%PAM-1.0\n#\n# Resource limits imposed on login sessions via pamlimits\n#\nsession  required  pamlimits.so\n\n\nReplace \"login\" for each service you are using this module.\n",
            "subsections": []
        },
        "SEE ALSO": {
            "content": "limits.conf(5), pam.d(5), pam(7).\n",
            "subsections": []
        },
        "AUTHORS": {
            "content": "pamlimits was initially written by Cristian Gafton <gafton@redhat.com>\n\n\n\nLinux-PAM Manual                             06/08/2020                                PAMLIMITS(8)",
            "subsections": []
        }
    },
    "summary": "pamlimits - PAM module to limit resources",
    "flags": [],
    "examples": [
        "For the services you need resources limits (login for example) put a the following line in",
        "/etc/pam.d/login as the last line for that service (usually after the pamunix session line):",
        "#%PAM-1.0",
        "# Resource limits imposed on login sessions via pamlimits",
        "session  required  pamlimits.so",
        "Replace \"login\" for each service you are using this module."
    ],
    "see_also": [
        {
            "name": "limits.conf",
            "section": "5",
            "url": "https://www.chedong.com/phpMan.php/man/limits.conf/5/json"
        },
        {
            "name": "pam.d",
            "section": "5",
            "url": "https://www.chedong.com/phpMan.php/man/pam.d/5/json"
        },
        {
            "name": "pam",
            "section": "7",
            "url": "https://www.chedong.com/phpMan.php/man/pam/7/json"
        }
    ]
}