After updating from Mac OS X Server 10.4.7 to 10.4.8, Password Server may not start. Server Admin may report that the Password Service has stopped.
The ApplePasswordServer.Error.log (in /Library/Logs/PasswordService/) may contain the message, "CUDPListener: internal error, RSA key hash not set."
The following steps will rebuild your /var/db/authserver/authserverreplicas file.
1. Using these guidelines, create a new file on your desktop named "make-replica-file".
2. Paste this content into the file:
#!/bin/sh if [ `id -u` != 0 ] ; then echo "You must run this script as root." exit elif [ ! -s "/usr/sbin/mkpassdb" ] ; then echo "This script can only be run on Mac OS X Server" exit fi # try the LDAP config record export LDAPConfigRecord=`dscl /LDAPv3/127.0.0.1 -read /Config/passwordserver PasswordServerList | sed 's/PasswordServerList: //'` echo $LDAPConfigRecord | grep "No such key" > /tmp/authserverreplicas.test if [ ! -s /tmp/authserverreplicas.test ] ; then echo "$LDAPConfigRecord" exit fi # make the ID string export key=`mkpassdb -key` export keyID=`echo -n "$key" | md5 | awk '{print toupper($0)}'`
# Get the IPv4 for en0 and look it up export QueriedIPAddress=`ifconfig | grep -A 1 "en0" | grep "inet " | sed 's/.*inet //;s/ .*//'` export QueriedDNS=`dig -x $QueriedIPAddress | grep -A 1 "ANSWER SECTION" | sed 's/;;.*//;s/.*PTR//' | tr "\\n\\t" " " | sed 's/ //g' | awk '{print substr($0,0,length($0)-1)}'` echo "<?xml version=\\"1.0\\" encoding=\\"UTF-8\\"?>" echo "<!DOCTYPE plist PUBLIC \\"-//Apple Computer//DTD PLIST 1.0//EN\\" \\"http://www.apple.com/DTDs/PropertyList-1.0.dtd\\">" echo "<plist version=\\"1.0\\">" echo "<dict>" echo " <key>ID</key>" echo " <string>$keyID</string>" echo " <key>Parent</key>" echo " <dict>" echo " <key>DNS</key>" echo " <string>$QueriedDNS</string>" echo " <key>IDRangeBegin</key>" echo " <string>0x00000000000000000000000000000001</string>" echo " <key>IDRangeEnd</key>" echo " <string>0x000000000000000000000000000001f5</string>" echo " <key>IP</key>" echo " <string>$QueriedIPAddress</string>" echo " </dict>" echo " <key>Status</key>" echo " <string>AllowReplication</string>" echo "</dict>" echo "</plist>"
3. In Terminal, execute these commands:
$ chmod +x ~/Desktop/make-replica-file $ sudo ~/Desktop/make-replica-file > ~/Desktop/authserverreplicas $ chmod 644 ~/Desktop/authserverreplicas $ sudo chown root:wheel ~/Desktop/authserverreplicas $ sudo mv ~/Desktop/authserverreplicas /var/db/authserver
4. Restart the server.