{
    "content": [
        {
            "type": "text",
            "text": "# pam_sm_authenticate (man)\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, const char argv);\n\n## DESCRIPTION\n\nThe pamsmauthenticate function is the service module's implementation of the\npamauthenticate(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": "man",
        "summary": "pamsmauthenticate - PAM service function for user authentication",
        "synopsis": "#include <security/pammodules.h>\nint pamsmauthenticate(pamhandlet *pamh, int flags, int argc, const 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": 4,
                "subsections": []
            },
            {
                "name": "DESCRIPTION",
                "lines": 15,
                "subsections": []
            },
            {
                "name": "RETURN VALUES",
                "lines": 21,
                "subsections": []
            },
            {
                "name": "SEE ALSO",
                "lines": 5,
                "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, const char argv);\n",
                "subsections": []
            },
            "DESCRIPTION": {
                "content": "The pamsmauthenticate function is the service module's implementation of the\npamauthenticate(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 this authentication\nmechanism has a NULL entry for the user. Without this flag, such a NULL token will lead\nto a success without the user being prompted.\n",
                "subsections": []
            },
            "RETURN VALUES": {
                "content": "PAMAUTHERR\nAuthentication failure.\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\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 tries authenticating\nthe user. Do not try again.\n",
                "subsections": []
            },
            "SEE ALSO": {
                "content": "pam(3), pamauthenticate(3), pamsmsetcred(3), pamstrerror(3), PAM(8)\n\n\n\nLinux-PAM Manual                             06/08/2020                       PAMSMAUTHENTICATE(3)",
                "subsections": []
            }
        }
    }
}