Linux lhjmq-records 5.15.0-118-generic #128-Ubuntu SMP Fri Jul 5 09:28:59 UTC 2024 x86_64
Your IP : 52.14.148.63
Current Path : /var/lib/dpkg/info/ |
| Current File : /var/lib/dpkg/info/libpam-modules:amd64.preinst |
#!/bin/sh
set -e
. /usr/share/debconf/confmodule
handle_profiles_with_removed_modules() {
removed_modules="$1"
profiles=""
modules=""
test -x /usr/sbin/pam-auth-update ||return 0
test -r /var/lib/pam/auth ||return 0
for module in $removed_modules; do
new_profiles=$( perl -nle 'BEGIN {$removed = shift;} /^Module: (.*)$/&&($profile = $1); /^[^#]*$removed/&&$profile&&($profiles{$profile} = 1); END {print join("\n",keys %profiles) if %profiles;}' \
$module \
/var/lib/pam/auth /var/lib/pam/account \
/var/lib/pam/password /var/lib/pam/session \
/var/lib/pam/session-noninteractive)
if [ "$new_profiles" != "" ]; then
modules="$modules $module"
profiles="${profiles}${new_profiles}"
fi
done
profiles=$( echo "$profiles" |sort |uniq)
if [ "$profiles" != "" ]; then
db_reset libpam-modules/profiles-disabled
db_subst libpam-modules/profiles-disabled modules "$modules"
db_input critical libpam-modules/profiles-disabled ||true
db_go ||true
pam-auth-update --remove $profiles
fi
}
if dpkg --compare-versions "$2" lt-nl 1.4.0-5; then
db_version 2.0
handle_profiles_with_removed_modules pam_tally
# We have a generic template for removing pam-profiles because
# there is a sane automatic action. If we detect the modules in
# user configurations we want a specific template so we can
# recommend a replacement
# /dev/null reference is to make sure we don't grep stdin if
# somehow ls returns empty
if grep -qe '^[^#]*pam_tally' $(ls -1d /etc/pam.d/* | grep -e '^/etc/pam.d/[0-9a-zA-Z/-]*$' ) /dev/null ; then
db_input critical libpam-modules/deprecate-tally ||true
db_go ||true
exit 2
fi
if pidof xscreensaver xlockmore >/dev/null; then
db_input critical libpam-modules/disable-screensaver || true
db_go || true
fi
fi
|