{
    "content": [
        {
            "type": "text",
            "text": "# pam_sm_authenticate (info)\n\n## NAME\n\npamsmauthenticate - PAM service function for user authentication\n\n## SYNOPSIS\n\n#include <security/pammodules.h>\nint pamsmauthenticate(pamhandlet *pamh, int flags, int argc,\nconst char argv);\n\n## DESCRIPTION\n\nThe pamsmauthenticate function is the service module's implementation\nof the pamauthenticate(3) interface.\n\n## Sections\n\n- **NAME**\n- **SYNOPSIS**\n- **DESCRIPTION**\n- **RETURN VALUES**\n- **SEE ALSO**\n\nUse structuredContent.sections for detailed options, examples, and full documentation.\n"
        }
    ],
    "structuredContent": {
        "command": "pam_sm_authenticate",
        "section": "",
        "mode": "info",
        "summary": "pamsmauthenticate - PAM service function for user authentication",
        "synopsis": "#include <security/pammodules.h>\nint pamsmauthenticate(pamhandlet *pamh, int flags, int argc,\nconst char argv);",
        "tldr_summary": null,
        "tldr_examples": [],
        "tldr_source": null,
        "flags": [],
        "examples": [],
        "see_also": [
            {
                "name": "pam",
                "section": "3",
                "url": "https://www.chedong.com/phpMan.php/man/pam/3/json"
            },
            {
                "name": "pamauthenticate",
                "section": "3",
                "url": "https://www.chedong.com/phpMan.php/man/pamauthenticate/3/json"
            },
            {
                "name": "pamsmsetcred",
                "section": "3",
                "url": "https://www.chedong.com/phpMan.php/man/pamsmsetcred/3/json"
            },
            {
                "name": "pamstrerror",
                "section": "3",
                "url": "https://www.chedong.com/phpMan.php/man/pamstrerror/3/json"
            },
            {
                "name": "PAM",
                "section": "8",
                "url": "https://www.chedong.com/phpMan.php/man/PAM/8/json"
            }
        ],
        "section_outline": [
            {
                "name": "NAME",
                "lines": 2,
                "subsections": []
            },
            {
                "name": "SYNOPSIS",
                "lines": 5,
                "subsections": []
            },
            {
                "name": "DESCRIPTION",
                "lines": 16,
                "subsections": []
            },
            {
                "name": "RETURN VALUES",
                "lines": 21,
                "subsections": []
            },
            {
                "name": "SEE ALSO",
                "lines": 3,
                "subsections": []
            }
        ],
        "sections": {
            "NAME": {
                "content": "pamsmauthenticate - PAM service function for user authentication\n",
                "subsections": []
            },
            "SYNOPSIS": {
                "content": "#include <security/pammodules.h>\n\nint pamsmauthenticate(pamhandlet *pamh, int flags, int argc,\nconst char argv);\n",
                "subsections": []
            },
            "DESCRIPTION": {
                "content": "The pamsmauthenticate function is the service module's implementation\nof the pamauthenticate(3) interface.\n\nThis function performs the task of authenticating the user.\n\nValid flags, which may be logically OR'd with PAMSILENT, are:\n\nPAMSILENT\nDo not emit any messages.\n\nPAMDISALLOWNULLAUTHTOK\nReturn PAMAUTHERR if the database of authentication tokens for\nthis authentication mechanism has a NULL entry for the user.\nWithout this flag, such a NULL token will lead to a success without\nthe user being prompted.\n",
                "subsections": []
            },
            "RETURN VALUES": {
                "content": "PAMAUTHERR\nAuthentication failure.\n\nPAMCREDINSUFFICIENT\nFor some reason the application does not have sufficient\ncredentials to authenticate the user.\n\nPAMAUTHINFOUNAVAIL\nThe modules were not able to access the authentication information.\nThis might be due to a network or hardware failure etc.\n\nPAMSUCCESS\nThe authentication token was successfully updated.\n\nPAMUSERUNKNOWN\nThe supplied username is not known to the authentication service.\n\nPAMMAXTRIES\nOne or more of the authentication modules has reached its limit of\ntries authenticating the user. Do not try again.\n",
                "subsections": []
            },
            "SEE ALSO": {
                "content": "pam(3), pamauthenticate(3), pamsmsetcred(3), pamstrerror(3), PAM(8)\n\nLinux-PAM Manual                  06/08/2020            PAMSMAUTHENTICATE(3)",
                "subsections": []
            }
        }
    }
}