{
    "content": [
        {
            "type": "text",
            "text": "# PAM_AUTHENTICATE(3) (man)\n\n**Summary:** pamauthenticate - account authentication\n\n**Synopsis:** #include <security/pamappl.h>\nint pamauthenticate(pamhandlet *pamh, int flags);\n\n## See Also\n\n- pamstart(3)\n- pamsetcred(3)\n- pamchauthtok(3)\n- pamstrerror(3)\n- pam(7)\n\n## Section Outline\n\n- **NAME** (2 lines)\n- **SYNOPSIS** (4 lines)\n- **DESCRIPTION** (18 lines)\n- **RETURN VALUES** (24 lines)\n- **SEE ALSO** (5 lines)\n\n## Full Content\n\n### NAME\n\npamauthenticate - account authentication\n\n### SYNOPSIS\n\n#include <security/pamappl.h>\n\nint pamauthenticate(pamhandlet *pamh, int flags);\n\n### DESCRIPTION\n\nThe pamauthenticate function is used to authenticate the user. The user is required to\nprovide an authentication token depending upon the authentication service, usually this is a\npassword, but could also be a finger print.\n\nThe PAM service module may request that the user enter their username via the conversation\nmechanism (see pamstart(3) and pamconv(3)). The name of the authenticated user will be\npresent in the PAM item PAMUSER. This item may be recovered with a call to pamgetitem(3).\n\nThe pamh argument is an authentication handle obtained by a prior call to pamstart(). The\nflags argument is the binary or of zero or more of the following values:\n\nPAMSILENT\nDo not emit any messages.\n\nPAMDISALLOWNULLAUTHTOK\nThe PAM module service should return PAMAUTHERR if the user does not have a registered\nauthentication token.\n\n### RETURN VALUES\n\nPAMABORT\nThe application should exit immediately after calling pamend(3) first.\n\nPAMAUTHERR\nThe user was not authenticated.\n\nPAMCREDINSUFFICIENT\nFor some reason the application does not have sufficient credentials to authenticate the\nuser.\n\nPAMAUTHINFOUNAVAIL\nThe modules were not able to access the authentication information. This might be due to\na network or hardware failure etc.\n\nPAMMAXTRIES\nOne or more of the authentication modules has reached its limit of tries authenticating\nthe user. Do not try again.\n\nPAMSUCCESS\nThe user was successfully authenticated.\n\nPAMUSERUNKNOWN\nUser unknown to authentication service.\n\n### SEE ALSO\n\npamstart(3), pamsetcred(3), pamchauthtok(3), pamstrerror(3), pam(7)\n\n\n\nLinux-PAM Manual                             06/08/2020                          PAMAUTHENTICATE(3)\n\n"
        }
    ],
    "structuredContent": {
        "command": "PAM_AUTHENTICATE",
        "section": "3",
        "mode": "man",
        "summary": "pamauthenticate - account authentication",
        "synopsis": "#include <security/pamappl.h>\nint pamauthenticate(pamhandlet *pamh, int flags);",
        "flags": [],
        "examples": [],
        "see_also": [
            {
                "name": "pamstart",
                "section": "3",
                "url": "https://www.chedong.com/phpMan.php/man/pamstart/3/json"
            },
            {
                "name": "pamsetcred",
                "section": "3",
                "url": "https://www.chedong.com/phpMan.php/man/pamsetcred/3/json"
            },
            {
                "name": "pamchauthtok",
                "section": "3",
                "url": "https://www.chedong.com/phpMan.php/man/pamchauthtok/3/json"
            },
            {
                "name": "pamstrerror",
                "section": "3",
                "url": "https://www.chedong.com/phpMan.php/man/pamstrerror/3/json"
            },
            {
                "name": "pam",
                "section": "7",
                "url": "https://www.chedong.com/phpMan.php/man/pam/7/json"
            }
        ],
        "section_outline": [
            {
                "name": "NAME",
                "lines": 2,
                "subsections": []
            },
            {
                "name": "SYNOPSIS",
                "lines": 4,
                "subsections": []
            },
            {
                "name": "DESCRIPTION",
                "lines": 18,
                "subsections": []
            },
            {
                "name": "RETURN VALUES",
                "lines": 24,
                "subsections": []
            },
            {
                "name": "SEE ALSO",
                "lines": 5,
                "subsections": []
            }
        ]
    }
}