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.
56 lines
2.2 KiB
56 lines
2.2 KiB
#!/bin/sh |
|
## |
|
## kerberos-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/kerberos/kdc.conf \ |
|
>@l_prefix@/etc/kerberos/kdc.conf.new \ |
|
-e "s;EXAMPLE\.COM;$realm;g" \ |
|
-e "s;example\.com;$domain;g" |
|
cp @l_prefix@/etc/kerberos/kdc.conf.new @l_prefix@/etc/kerberos/kdc.conf |
|
rm -f @l_prefix@/etc/kerberos/kdc.conf.new |
|
sed <@l_prefix@/etc/kerberos/krb5.conf \ |
|
>@l_prefix@/etc/kerberos/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 @l_prefix@/etc/kerberos/krb5.conf.new @l_prefix@/etc/kerberos/krb5.conf |
|
rm -f @l_prefix@/etc/kerberos/krb5.conf.new |
|
|
|
echo "++ create Kerberos database" |
|
@l_prefix@/sbin/kdb5_util create -s -r "$realm" |
|
|
|
echo "++ adding administrator \"admin@$realm\" to Kerberos database" |
|
echo "*/admin@$realm *" >@l_prefix@/var/kerberos/db/$realm.acl |
|
chmod 600 @l_prefix@/var/kerberos/db/$realm.acl |
|
chown @l_susr@:@l_mgrp@ @l_prefix@/var/kerberos/db/$realm.acl |
|
@l_prefix@/sbin/kadmin.local -p admin/admin -q \ |
|
"add_principal -pw admin admin/admin@$realm" |
|
echo "host/$host@$realm" >@l_prefix@/var/kerberos/db/kpropd.acl |
|
chmod 600 @l_prefix@/var/kerberos/db/kpropd.acl |
|
chown @l_susr@:@l_mgrp@ @l_prefix@/var/kerberos/db/kpropd.acl |
|
|
|
echo "++ exporting keytab for \"kadmin/admin\" and \"kadmin/changepw\" from Kerberos database" |
|
@l_prefix@/sbin/kadmin.local -p admin/admin -q \ |
|
"ktadd -q -k @l_prefix@/var/kerberos/db/$realm.keytab kadmin/admin kadmin/changepw" |
|
|
|
echo "++ adding \"host/$host\" to Kerberos database" |
|
@l_prefix@/sbin/kadmin.local -p admin/admin -q \ |
|
"add_principal -randkey host/$host" |
|
|
|
echo "++ exporting keytab for \"host/$host\" from Kerberos database" |
|
@l_prefix@/sbin/kadmin.local -p admin/admin -q \ |
|
"ktadd -q -k @l_prefix@/etc/kerberos/krb5.keytab host/$host" |
|
|
|
|