shadow/debian/shadowconfig.sh

68 lines
1.0 KiB
Bash
Executable File

#!/bin/bash
# turn shadow passwords on or off on a Debian system
set -e
permfix () {
[ -f $1 ] || return 0
chown root:shadow $1
chmod 2755 $1
}
export -f permfix
shadowon () {
bash<<- EOF
set -e
permfix /usr/X11R6/bin/xlock
permfix /usr/X11R6/bin/xtrlock
permfix /bin/vlock
pwck -q
grpck
pwconv
grpconv
cd /etc
chown root:root passwd group
chmod 644 passwd group
chown root:shadow shadow gshadow
chmod 640 shadow gshadow
EOF
}
shadowoff () {
bash<<- EOF
set -e
pwck -q
grpck
pwunconv
grpunconv
cd /etc
# sometimes the passwd perms get munged
chown root:root passwd group
chmod 644 passwd group
EOF
}
case "$1" in
"on")
if shadowon ; then
echo Shadow passwords are now on.
else
echo Please correct the error and rerun \`$0 on\'
exit 1
fi
;;
"off")
if shadowoff ; then
echo Shadow passwords are now off.
else
echo Please correct the error and rerun \`$0 off\'
exit 1
fi
;;
*)
echo Usage: $0 on \| off
;;
esac