pam_get_user.3.xml 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
  3. "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
  4. <refentry id='pam_get_user'>
  5. <refmeta>
  6. <refentrytitle>pam_get_user</refentrytitle>
  7. <manvolnum>3</manvolnum>
  8. <refmiscinfo class='setdesc'>Linux-PAM Manual</refmiscinfo>
  9. </refmeta>
  10. <refnamediv id='pam_get_user-name'>
  11. <refname>pam_get_user</refname>
  12. <refpurpose>
  13. get user name
  14. </refpurpose>
  15. </refnamediv>
  16. <!-- body begins here -->
  17. <refsynopsisdiv>
  18. <funcsynopsis id="pam_get_user-synopsis">
  19. <funcsynopsisinfo>#include &lt;security/pam_modules.h&gt;</funcsynopsisinfo>
  20. <funcprototype>
  21. <funcdef>int <function>pam_get_user</function></funcdef>
  22. <paramdef>const pam_handle_t *<parameter>pamh</parameter></paramdef>
  23. <paramdef>const char **<parameter>user</parameter></paramdef>
  24. <paramdef>const char *<parameter>prompt</parameter></paramdef>
  25. </funcprototype>
  26. </funcsynopsis>
  27. </refsynopsisdiv>
  28. <refsect1 id="pam_get_user-description">
  29. <title>DESCRIPTION</title>
  30. <para>
  31. The <function>pam_get_user</function> function returns the
  32. name of the user specified by
  33. <citerefentry>
  34. <refentrytitle>pam_start</refentrytitle><manvolnum>3</manvolnum>
  35. </citerefentry>. If no user was specified it returns what
  36. <function>pam_get_item (pamh, PAM_USER, ... );</function> would
  37. have returned. If this is NULL it obtains the username via the
  38. <citerefentry>
  39. <refentrytitle>pam_conv</refentrytitle><manvolnum>3</manvolnum>
  40. </citerefentry> mechanism, it prompts the user with the first
  41. non-NULL string in the following list:
  42. </para>
  43. <itemizedlist>
  44. <listitem>
  45. <para>
  46. The <emphasis>prompt</emphasis> argument passed to the function.
  47. </para>
  48. </listitem>
  49. <listitem>
  50. <para>
  51. What is returned by pam_get_item (pamh, PAM_USER_PROMPT, ... );
  52. </para>
  53. </listitem>
  54. <listitem>
  55. <para>
  56. The default prompt: "login: "
  57. </para>
  58. </listitem>
  59. </itemizedlist>
  60. <para>
  61. By whatever means the username is obtained, a pointer to it is
  62. returned as the contents of <emphasis>*user</emphasis>. Note,
  63. this memory should <emphasis remap="B">not</emphasis> be
  64. <emphasis>free()</emphasis>'d or <emphasis>modified</emphasis>
  65. by the module.
  66. </para>
  67. <para>
  68. This function sets the <emphasis>PAM_USER</emphasis> item
  69. associated with the
  70. <citerefentry>
  71. <refentrytitle>pam_set_item</refentrytitle><manvolnum>3</manvolnum>
  72. </citerefentry> and
  73. <citerefentry>
  74. <refentrytitle>pam_get_item</refentrytitle><manvolnum>3</manvolnum>
  75. </citerefentry> functions.
  76. </para>
  77. </refsect1>
  78. <refsect1 id="pam_get_user-return_values">
  79. <title>RETURN VALUES</title>
  80. <variablelist>
  81. <varlistentry>
  82. <term>PAM_SUCCESS</term>
  83. <listitem>
  84. <para>
  85. User name was successful retrieved.
  86. </para>
  87. </listitem>
  88. </varlistentry>
  89. <varlistentry>
  90. <term>PAM_SYSTEM_ERR</term>
  91. <listitem>
  92. <para>
  93. A NULL pointer was submitted.
  94. </para>
  95. </listitem>
  96. </varlistentry>
  97. <varlistentry>
  98. <term>PAM_CONV_ERR</term>
  99. <listitem>
  100. <para>
  101. The conversation method supplied by the
  102. application failed to obtain the username.
  103. </para>
  104. </listitem>
  105. </varlistentry>
  106. <varlistentry>
  107. <term>PAM_BUF_ERR</term>
  108. <listitem>
  109. <para>
  110. Memory buffer error.
  111. </para>
  112. </listitem>
  113. </varlistentry>
  114. <varlistentry>
  115. <term>PAM_ABORT</term>
  116. <listitem>
  117. <para>
  118. Error resuming an old conversation.
  119. </para>
  120. </listitem>
  121. </varlistentry>
  122. <varlistentry>
  123. <term>PAM_CONV_AGAIN</term>
  124. <listitem>
  125. <para>
  126. The conversation method supplied by the application
  127. is waiting for an event.
  128. </para>
  129. </listitem>
  130. </varlistentry>
  131. </variablelist>
  132. </refsect1>
  133. <refsect1 id="pam_get_user-see_also">
  134. <title>SEE ALSO</title>
  135. <para>
  136. <citerefentry>
  137. <refentrytitle>pam_end</refentrytitle><manvolnum>3</manvolnum>
  138. </citerefentry>,
  139. <citerefentry>
  140. <refentrytitle>pam_get_item</refentrytitle><manvolnum>3</manvolnum>
  141. </citerefentry>,
  142. <citerefentry>
  143. <refentrytitle>pam_set_item</refentrytitle><manvolnum>3</manvolnum>
  144. </citerefentry>,
  145. <citerefentry>
  146. <refentrytitle>pam_strerror</refentrytitle><manvolnum>3</manvolnum>
  147. </citerefentry>
  148. </para>
  149. </refsect1>
  150. </refentry>