You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

75 lines
1.9 KiB

#!/bin/sh
##
## squid-passwd -- Password Management for Squid
##
passwdfile="@l_prefix@/etc/squid/squid.passwd"
htpasswd="@l_prefix@/sbin/apache-htpasswd"
usage () {
echo "squid-passwd: USAGE: squid-passwd list" 1>&2
echo "squid-passwd: USAGE: squid-passwd add <username> [<password>]" 1>&2
echo "squid-passwd: USAGE: squid-passwd verify <username> [<password>]" 1>&2
echo "squid-passwd: USAGE: squid-passwd delete <username>" 1>&2
}
if [ $# -eq 0 ]; then
echo "squid-passwd: ERROR: invalid number of arguments" 1>&2
usage
exit 1
fi
cmd="$1"
shift
case "$cmd" in
list )
if [ $# -ne 0 ]; then
echo "squid-passwd: ERROR: invalid number of arguments" 1>&2
exit 1
fi
cat $passwdfile
;;
add )
if [ $# -lt 1 -o $# -gt 2 ]; then
echo "squid-passwd: ERROR: invalid number of arguments" 1>&2
exit 1
fi
username="$1"
shift
if [ $# -eq 1 ]; then
password="$1"
$htpasswd -b $passwdfile $username $password
else
$htpasswd $passwdfile $username
fi
;;
verify )
if [ $# -lt 1 -o $# -gt 2 ]; then
echo "squid-passwd: ERROR: invalid number of arguments" 1>&2
exit 1
fi
username="$1"
shift
if [ $# -eq 1 ]; then
password="$1"
$htpasswd -b -v $passwdfile $username $password
else
$htpasswd -v $passwdfile $username
fi
;;
delete )
if [ $# -ne 1 ]; then
echo "squid-passwd: ERROR: invalid number of arguments" 1>&2
exit 1
fi
username="$1"
shift
$htpasswd -D $passwdfile $username
;;
* )
echo "squid-passwd: ERROR: invalid number of arguments" 1>&2
usage
exit 1
;;
esac