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.
76 lines
1.9 KiB
76 lines
1.9 KiB
7 years ago
|
#!/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
|
||
|
|