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.
81 lines
2.8 KiB
81 lines
2.8 KiB
#!@l_bash@ |
|
## |
|
## heimdal-setup -- Kerberos setup procedure |
|
## |
|
|
|
if [ $# -ne 2 ]; then |
|
echo "USAGE: $0 <realm> <domain>" |
|
echo "EXAMPLE: $0 EXAMPLE.COM example.com" |
|
exit 1 |
|
fi |
|
|
|
realm=`echo "$1" | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'` |
|
domain=`echo "$2" | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` |
|
host=`@l_prefix@/lib/openpkg/shtool echo -e "%h.$domain"` |
|
|
|
echo "++ configure Kerberos realm \"$realm\"" |
|
sed <@l_prefix@/etc/heimdal/kdc.conf \ |
|
>@l_prefix@/etc/heimdal/kdc.conf.new \ |
|
-e "s;EXAMPLE\.COM;$realm;g" \ |
|
-e "s;example\.com;$domain;g" |
|
cp -p @l_prefix@/etc/heimdal/kdc.conf.new @l_prefix@/etc/heimdal/kdc.conf |
|
rm -f @l_prefix@/etc/heimdal/kdc.conf.new |
|
sed <@l_prefix@/etc/heimdal/krb5.conf \ |
|
>@l_prefix@/etc/heimdal/krb5.conf.new \ |
|
-e "s;kerberos1\.example\.com;$host;" \ |
|
-e "s;kerberos2\.example\.com;$host;" \ |
|
-e "s;EXAMPLE\.COM;$realm;g" \ |
|
-e "s;example\.com;$domain;g" |
|
cp -p @l_prefix@/etc/heimdal/krb5.conf.new @l_prefix@/etc/heimdal/krb5.conf |
|
rm -f @l_prefix@/etc/heimdal/krb5.conf.new |
|
|
|
echo "++ creating Kerberos database" |
|
@l_prefix@/sbin/kstash --random-key --key-file=@l_prefix@/var/heimdal/db/$realm.mkey |
|
( echo -n "init" |
|
echo -n " --realm-max-ticket-life=unlimited" |
|
echo -n " --realm-max-renewable-life=unlimited" |
|
echo -n " $realm" |
|
echo "" |
|
) | @l_prefix@/sbin/kadmin -l -p admin/admin |
|
|
|
echo "++ adding administrator \"admin@$realm\" to Kerberos database" |
|
echo "*/admin@$realm all" >@l_prefix@/var/heimdal/db/$realm.acl |
|
chmod 600 @l_prefix@/var/heimdal/db/$realm.acl |
|
chown @l_susr@:@l_mgrp@ @l_prefix@/var/heimdal/db/$realm.acl |
|
( echo -n "add" |
|
echo -n " --password=admin" |
|
echo -n " --max-ticket-life=1day --max-renewable-life=1week" |
|
echo -n " --expiration-time=never --pw-expiration-time=never" |
|
echo -n " --attributes=\"\"" |
|
echo -n " admin/admin@$realm" |
|
echo "" |
|
) | @l_prefix@/sbin/kadmin -l -p admin/admin |
|
|
|
echo "++ adding host \"host/$host\" to Kerberos database" |
|
( echo -n "add" |
|
echo -n " --random-key" |
|
echo -n " --max-ticket-life=1day --max-renewable-life=1week" |
|
echo -n " --expiration-time=never --pw-expiration-time=never" |
|
echo -n " --attributes=\"\"" |
|
echo -n " host/$host" |
|
echo "" |
|
) | @l_prefix@/sbin/kadmin -l -p admin/admin |
|
|
|
echo "++ exporting keytab file for \"host/$host\" from Kerberos database" |
|
( echo "ext_keytab host/$host" |
|
) | @l_prefix@/sbin/kadmin -l -p admin/admin |
|
|
|
echo "++ adding ipropd master \"iprop/$host\" to Kerberos database" |
|
( echo -n "add" |
|
echo -n " --random-key" |
|
echo -n " --max-ticket-life=1day --max-renewable-life=1week" |
|
echo -n " --expiration-time=never --pw-expiration-time=never" |
|
echo -n " --attributes=\"\"" |
|
echo -n " iprop/$host" |
|
echo "" |
|
) | @l_prefix@/sbin/kadmin -l -p admin/admin |
|
|
|
echo "++ exporting keytab file for \"host/$host\" from Kerberos database" |
|
( echo "ext_keytab iprop/$host" |
|
) | @l_prefix@/sbin/kadmin -l -p admin/admin |
|
|
|
|