Warning: this is an htmlized version!
The original is here, and
the conversion rules are here.
#######
#
# E-scripts on PAM things.
#
# Note 1: use the eev command (defined in eev.el) and the
# ee alias (in my .zshrc) to execute parts of this file.
# Executing this file as a whole makes no sense.
# An introduction to eev can be found here:
#
#   (find-eev-quick-intro)
#   http://angg.twu.net/eev-intros/find-eev-quick-intro.html
#
# Note 2: be VERY careful and make sure you understand what
# you're doing.
#
# Note 3: If you use a shell other than zsh things like |&
# and the for loops may not work.
#
# Note 4: I always run as root.
#
# Note 5: some parts are too old and don't work anymore. Some
# never worked.
#
# Note 6: the definitions for the find-xxxfile commands are on my
# .emacs.
#
# Note 7: if you see a strange command check my .zshrc -- it may
# be defined there as a function or an alias.
#
# Note 8: the sections without dates are always older than the
# sections with dates.
#
# This file is at <http://angg.twu.net/a/e/locz.e>
#           or at <http://angg.twu.net/e/locz.e.html>.
#        See also <http://angg.twu.net/emacs.html>,
#                 <http://angg.twu.net/.emacs[.html]>,
#                 <http://angg.twu.net/.zshrc[.html]>,
#                 <http://angg.twu.net/escripts.html>,
#             and <http://angg.twu.net/>.
#
#######




# «.pam»			(to "pam")
# «.pam-environment»		(to "pam-environment")
# «.pam-modules-wu-ftpd»	(to "pam-modules-wu-ftpd")
# «.python-pam»			(to "python-pam")
# «.pam-src»			(to "pam-src")
# «.pam-zsh30-bug»		(to "pam-zsh30-bug")





# (find-zsh "installeddebs | sort | grep .pam-environment")
# (find-zsh "availabledebs | sort | grep .pam-environment")

# (find-status   "libpam-doc")
# (find-vldifile "libpam-doc.list")
# (find-udfile   "libpam-doc/")
# (find-udfile "libpam-doc/txt/pam.txt.gz")
# (find-udfile "libpam-doc/txt/pam.txt.gz" "4.1.  Configuration file syntax")
# (find-udfile "libpam-doc/txt/pam.txt.gz" "  sufficient; the succ")
# (find-udfile "libpam-doc/txt/pam_appl.txt.gz")
# (find-udfile "libpam-doc/txt/pam_modules.txt.gz")

# (find-fline "/etc/pam.conf")
# (find-man "pam.conf")

# (find-status   "libpam-modules")
# (find-vldifile "libpam-modules.list")
# (find-udfile   "libpam-modules/")
# (find-status   "libpam-runtime")
# (find-vldifile "libpam-runtime.list")
# (find-udfile   "libpam-runtime/")
# (find-status   "libpam0g")
# (find-vldifile "libpam0g.list")
# (find-udfile   "libpam0g/")




#####
#
# pam - basic packages
# 2000may24
#
#####

# «pam» (to ".pam")

agrep ^Packa /var/lib/dpkg/status | grep pam
dpkg -l | grep pam

# (find-status "libpam-doc")
# (find-vldifile "libpam-doc.list")
# (find-fline "/usr/doc/libpam-doc/")

# (find-status "libpam-modules")
# (find-vldifile "libpam-modules.list")

# (find-status "libpam-runtime")
# (find-vldifile "libpam-runtime.list")
# (find-man "8 pam")
# (find-man "8 pam.d")
# (find-man "8 pam.conf")

# (find-status "libpam0g")
# (find-vldifile "libpam0g.list")




#####
#
# ~/.pam_environment
# 2018nov10
#
#####

# «pam-environment» (to ".pam-environment")
# (find-fline "~/.pam_environment")






#####
#
# pam - the modules used by wu-ftpd
# 2000may29
#
#####

# «pam-modules-wu-ftpd» (to ".pam-modules-wu-ftpd")

# (find-status "wu-ftpd")
# (find-vldifile "wu-ftpd.list")
# (find-fline "/usr/doc/wu-ftpd/")
# (find-fline "/etc/pam.d/")
# (find-fline "/etc/pam.d/wu-ftpd")
# (find-fline "/etc/wu-ftpd/")
# (find-fline "/etc/wu-ftpd/ftpusers")


# (find-pamhw3 "")
# (find-pamhw3 "pam.html")
# (find-pamhw3 "pam.html" "The list-file module")
# (find-pamhw3 "pam-6.html#ss6.13")
# (find-pamhw3 "pam.html" "The Unix Password module")
# (find-pamhw3 "pam-6.html#ss6.25")

# (find-pamhw3 "pam-6.html" "normal ftp configuration file")
# But where are the docs on pam_shells.so?
# No docs, but it just checks if the user shell is in /etc/shells.
# (find-es "pam" "pam-src")


# The docs on pam_unix mention nsswitch.conf!
# (find-fline "/etc/nsswitch.conf")

# (find-node "(libc)Name Service Switch")
# (find-node "(libc)NSS Basics")
# (find-node "(libc)NSS Configuration File")
# (find-node "(libc)NSS Module Internals")
# (find-node "(libc)NSS Module Names")
# (find-node "(libc)NSS Modules Interface")





#####
#
# python-pam
# 2000may25
#
#####

# «python-pam» (to ".python-pam")

# (find-es "python" "links")

# (find-status "python-pam")
# (find-vldifile "python-pam.list")
# (find-fline "/usr/doc/python-pam/")
# (find-fline "/usr/doc/python-pam/examples/pamtest.py")

python /usr/doc/python-pam/examples/pamtest.py

# (find-node "(python-tut)More on Modules")
# (find-node "(python-tut)dir Function")

cat > $EEG <<'---'
import sys
import PAM
from getpass import getpass
print dir(sys)
print dir(PAM)
print dir(getpass)
---
python $EEG






#####
#
# pam-0.72 source
# 2000may29
#
#####

# «pam-src» (to ".pam-src")

apti cracklib2-dev libpwdb0g-dev sgml-tools

pdsc $SPOTATO/main/source/libs/pam_0.72-8.dsc
cd /usr/src/pam-0.72/
unset MODULES
debian/rules binary	|& tee odrb

# (code-c-d "pamsrc" "/usr/src/pam-0.72/")
# (code-c-d "pambt" "/usr/src/pam-0.72/build-tree/Linux-PAM-0.72/")
# (find-pamsrcfile "")
# (find-pambtfile "")
# (find-pambtfile "modules/pam_shells/")
# (find-pambtfile "modules/pam_shells/README")

# «pam-zsh30-bug» (to ".pam-zsh30-bug")

# ***************************
# ***************************
# *** Potato zsh/pam bug: ***
# ***************************
# ***************************
# (find-fline "/etc/pam.d/wu-ftpd" "pam_shells")
# (find-fline "/etc/shells")
#
# /usr/bin/zsh30 was not in /etc/shells, and so pam
# refused ftp access to most of my local users. I fixed
# this by adding /usr/bin/zsh30 to the list by hand.








#####
#
# pam - things to write in the future
# 2000may29
#
#####

# To write: how to raise the log level; how to search for pam messages
# in the logs; more on restarting inetd;





#####
#
# pam - other notes
# 2000may29
#
#####

# (find-vldifile "libpam-doc.list")
# (find-fline "/usr/doc/libpam-doc/")
# (code-c-d "pamdoct" "/usr/doc/libpam-doc/txt/")
# (code-c-d "pamdocs" "/usr/doc/libpam-doc/sgml/")

# (find-fline "/etc/pam.conf")
# (find-fline "/etc/pam.d/")
# (find-fline "/etc/pam.d/wu-ftpd")
# (eeman "8 pam.d" "separates the tasks of authentication into *four")


# (find-pamtfile "pam_appl.txt.gz")
# (find-pamtfile "pam_appl.txt.gz" "contributed by Shane Watts")
# (find-pamtfile "pam_modules.txt.gz")

# (find-pamsfile "modules/pam_unix.sgml.gz")
# (find-pamsfile "modules/pam_permit.sgml" "is always to permit access")
	   
# (find-pamsfile "modules/")


# Why I got there:
# (find-pamtfile "")
# (find-pamtfile "pam.txt.gz")
# (find-pamtfile "pam.txt.gz" "if there is a /etc/pam.d/")
# (find-fline "/etc/pam.conf")
# (find-fline "/etc/pam.d/")
# (find-fline "/etc/pam.d/wu-ftpd")


https://news.ycombinator.com/item?id=29167560 The Surreal Horror of Pam (christine.website)
https://news.ycombinator.com/item?id=32727242 The Sheer Terror of PAM (xeiaso.net)





#  Local Variables:
#  coding:               utf-8-unix
#  End: