#!/bin/sh
# $Id: su.control,v 1.3 2005/09/02 17:41:21 ldv Exp $

. /etc/control.d/functions

CONFIG=/etc/pam.d/su
BINARY=/usr/bin/su

new_subst public \
	'^#auth[[:space:]]+requisite[[:space:]]+(/usr/lib/)?pam_group\.so' \
	's,^\(auth[[:space:]]\+requisite[[:space:]]\+\(/usr/lib/\)\?pam_group\.so\),#\1,'
new_fmode public 4555 root wheel
new_subst wheel \
	'^auth[[:space:]]+requisite[[:space:]]+(/usr/lib/)?pam_group\.so' \
	's,^#\(auth[[:space:]]\+requisite[[:space:]]\+\(/usr/lib/\)\?pam_group\.so\),\1,'
new_fmode wheelonly 4550 root wheel
new_fmode restricted 700 root wheel

case "$*" in
list)
	echo "$NAME_LIST"
	;;
status|'')
	STATUS="`control_fmode "$BINARY" status`" || exit 1
	if [ "$STATUS" = "public" ]; then
		control_subst "$CONFIG" status || exit 1
	else
		test -n "$STATUS" && echo "$STATUS"
	fi
	;;
public)
	control_subst "$CONFIG" public || exit 1
	control_fmode "$BINARY" public || exit 1
	;;
wheel)
	control_subst "$CONFIG" wheel || exit 1
	control_fmode "$BINARY" public || exit 1
	;;
*)
	control_fmode "$BINARY" "$*" || exit 1
	control_subst "$CONFIG" public || exit 1
	;;
esac
