basic_getpwnam_auth allows Squid to authenticate any local user accounts to validate the user name and password of Basic HTTP authentication.
It uses getpwnam() and getspnam() routines for authentication.
This has the following advantages over the NCSA module:
- Allows authentication of all known local users
- Allows authentication through nsswitch.conf
- Can handle NIS(+) requests
- Can handle LDAP requests
- Can handle PAM requests
auth_param basic program /path/to/basic_getpwnam_auth
auth_param basic children concurrency=1
When used for authenticating to local UNIX shadow password databases the program must be running as root or else it won't have sufficient permissions to access the user password database. Such use of this program is not recommended, but if you absolutely need to then make the program setuid root
chown root basic_getpwnam_auth
chmod u+s basic_getpwnam_auth
Please note that in such configurations it is also strongly recommended that the program is moved into a directory where normal users cannot access it, as this mode of operation will allow any local user to brute-force other users passwords. Also note the program has not been fully audited and the author cannot be held responsible for any security issues due to such installations.
This program was written by Erik Hofman <email@example.com> Robin Elfrink <firstname.lastname@example.org> Giancarlo Razzolini <email@example.com>
Based on original code by Jon Thackray <firstname.lastname@example.org>.
This manual was written by Amos Jeffries <email@example.com>
* Copyright (C) 1996-2021 The Squid Software Foundation and contributors
* Squid software is distributed under GPLv2+ license and includes
* contributions from numerous individuals and organizations.
* Please see the COPYING and CONTRIBUTORS files for details.
This program and documentation is copyright to the authors named above.
Distributed under the GNU General Public License (GNU GPL) version 2 or later (GPLv2+).
Questions on the usage of this program can be sent to the Squid Users mailing list <firstname.lastname@example.org>
Bug reports need to be made in English. See http://wiki.squid-cache.org/SquidFaq/BugReporting for details of what you need to include with your bug report.
Report bugs or bug fixes using http://bugs.squid-cache.org/
Report serious security bugs to Squid Bugs <email@example.com>
Report ideas for new improvements to the Squid Developers mailing list <firstname.lastname@example.org>
squid(8), basic_pam_auth(8), basic_ncsa_auth(8), basic_ldap_auth(8), basic_nis_auth(8), chown(1), chmod(1), nsswitch.conf(5), getpwnam(3), getspnam(3), GPL(7),
The Squid FAQ wiki http://wiki.squid-cache.org/SquidFaq
The Squid Configuration Manual http://www.squid-cache.org/Doc/config/