pam_permit.c 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. /*
  2. * pam_permit module
  3. *
  4. * Written by Andrew Morgan <morgan@parc.power.net> 1996/3/11
  5. */
  6. #include "config.h"
  7. #include <stdio.h>
  8. #include <security/pam_modules.h>
  9. #include <security/_pam_macros.h>
  10. #define DEFAULT_USER "nobody"
  11. /* --- authentication management functions --- */
  12. int
  13. pam_sm_authenticate(pam_handle_t *pamh, int flags UNUSED,
  14. int argc UNUSED, const char **argv UNUSED)
  15. {
  16. int retval;
  17. const char *user=NULL;
  18. /*
  19. * authentication requires we know who the user wants to be
  20. */
  21. retval = pam_get_user(pamh, &user, NULL);
  22. if (retval != PAM_SUCCESS) {
  23. D(("get user returned error: %s", pam_strerror(pamh,retval)));
  24. return retval;
  25. }
  26. if (*user == '\0') {
  27. D(("username not known"));
  28. retval = pam_set_item(pamh, PAM_USER, (const void *) DEFAULT_USER);
  29. if (retval != PAM_SUCCESS)
  30. return PAM_USER_UNKNOWN;
  31. }
  32. user = NULL; /* clean up */
  33. return PAM_SUCCESS;
  34. }
  35. int
  36. pam_sm_setcred(pam_handle_t *pamh UNUSED, int flags UNUSED,
  37. int argc UNUSED, const char **argv UNUSED)
  38. {
  39. return PAM_SUCCESS;
  40. }
  41. /* --- account management functions --- */
  42. int
  43. pam_sm_acct_mgmt(pam_handle_t *pamh UNUSED, int flags UNUSED,
  44. int argc UNUSED, const char **argv UNUSED)
  45. {
  46. return PAM_SUCCESS;
  47. }
  48. /* --- password management --- */
  49. int
  50. pam_sm_chauthtok(pam_handle_t *pamh UNUSED, int flags UNUSED,
  51. int argc UNUSED, const char **argv UNUSED)
  52. {
  53. return PAM_SUCCESS;
  54. }
  55. /* --- session management --- */
  56. int
  57. pam_sm_open_session(pam_handle_t *pamh UNUSED, int flags UNUSED,
  58. int argc UNUSED, const char **argv UNUSED)
  59. {
  60. return PAM_SUCCESS;
  61. }
  62. int
  63. pam_sm_close_session(pam_handle_t *pamh UNUSED, int flags UNUSED,
  64. int argc UNUSED, const char **argv UNUSED)
  65. {
  66. return PAM_SUCCESS;
  67. }
  68. /* end of module definition */