/usr/share/doc/pam/txts
NameSizeModeActions
README.pam_access52530644editdlrm
README.pam_chroot15100644editdlrm
README.pam_console19250644editdlrm
README.pam_cracklib97570644editdlrm
README.pam_debug19950644editdlrm
README.pam_deny10350644editdlrm
README.pam_echo11000644editdlrm
README.pam_env36270644editdlrm
README.pam_exec22300644editdlrm
README.pam_faildelay8270644editdlrm
README.pam_faillock60620644editdlrm
README.pam_filter31020644editdlrm
README.pam_ftp16990644editdlrm
README.pam_group21750644editdlrm
README.pam_issue13560644editdlrm
README.pam_keyinit22450644editdlrm
README.pam_lastlog25970644editdlrm
README.pam_limits24210644editdlrm
README.pam_listfile36260644editdlrm
README.pam_localuser11670644editdlrm
README.pam_loginuid11170644editdlrm
README.pam_mail20090644editdlrm
README.pam_mkhomedir13610644editdlrm
README.pam_motd25880644editdlrm
README.pam_namespace115430644editdlrm
README.pam_nologin13480644editdlrm
README.pam_permit9070644editdlrm
README.pam_postgresok3460644editdlrm
README.pam_pwhistory22430644editdlrm
README.pam_rhosts18820644editdlrm
README.pam_rootok10860644editdlrm
README.pam_securetty13420644editdlrm
README.pam_selinux29090644editdlrm
README.pam_sepermit16480644editdlrm
README.pam_shells6530644editdlrm
README.pam_stress20600644editdlrm
README.pam_succeed_if28640644editdlrm
README.pam_time13010644editdlrm
README.pam_timestamp16160644editdlrm
README.pam_tty_audit27790644editdlrm
README.pam_umask16310644editdlrm
README.pam_unix72650644editdlrm
README.pam_userdb29730644editdlrm
README.pam_usertype12000644editdlrm
README.pam_warn12240644editdlrm
README.pam_wheel19680644editdlrm
README.pam_xauth36950644editdlrm
Edit: /usr/share/doc/pam/txts/README.pam_listfile (3626B)
pam_listfile — deny or allow services based on an arbitrary file ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ DESCRIPTION pam_listfile is a PAM module which provides a way to deny or allow services based on an arbitrary file. The module gets the item of the type specified -- user specifies the username, PAM_USER; tty specifies the name of the terminal over which the request has been made, PAM_TTY; rhost specifies the name of the remote host (if any) from which the request was made, PAM_RHOST; and ruser specifies the name of the remote user (if available) who made the request, PAM_RUSER -- and looks for an instance of that item in the file=filename. filename contains one line per item listed. If the item is found, then if sense=allow, PAM_SUCCESS is returned, causing the authorization request to succeed; else if sense=deny, PAM_AUTH_ERR is returned, causing the authorization request to fail. If an error is encountered (for instance, if filename does not exist, or a poorly-constructed argument is encountered), then if onerr=succeed, PAM_SUCCESS is returned, otherwise if onerr=fail, PAM_AUTH_ERR or PAM_SERVICE_ERR (as appropriate) will be returned. An additional argument, apply=, can be used to restrict the application of the above to a specific user (apply=username) or a given group (apply=@groupname). This added restriction is only meaningful when used with the tty, rhost and shell items. Besides this last one, all arguments should be specified; do not count on any default behavior. No credentials are awarded by this module. OPTIONS item=[tty|user|rhost|ruser|group|shell] What is listed in the file and should be checked for. sense=[allow|deny] Action to take if found in file, if the item is NOT found in the file, then the opposite action is requested. file=/path/filename File containing one item per line. The file needs to be a plain file and not world writable. onerr=[succeed|fail] What to do if something weird happens like being unable to open the file. apply=[user|@group] Restrict the user class for which the restriction apply. Note that with item=[user|ruser|group] this does not make sense, but for item=[tty|rhost| shell] it have a meaning. quiet Do not treat service refusals or missing list files as errors that need to be logged. EXAMPLES Classic 'ftpusers' authentication can be implemented with this entry in /etc/ pam.d/ftpd: # # deny ftp-access to users listed in the /etc/ftpusers file # auth required pam_listfile.so \ onerr=succeed item=user sense=deny file=/etc/ftpusers Note, users listed in /etc/ftpusers file are (counterintuitively) not allowed access to the ftp service. To allow login access only for certain users, you can use a /etc/pam.d/login entry like this: # # permit login to users listed in /etc/loginusers # auth required pam_listfile.so \ onerr=fail item=user sense=allow file=/etc/loginusers For this example to work, all users who are allowed to use the login service should be listed in the file /etc/loginusers. Unless you are explicitly trying to lock out root, make sure that when you do this, you leave a way for root to log in, either by listing root in /etc/loginusers, or by listing a user who is able to su to the root account. AUTHOR pam_listfile was written by Michael K. Johnson and Elliot Lee .