#!/usr/bin/php load("/etc/gosa/gosa.conf") or die ("Cannot read /etc/gosa/gosa.conf - aborted\n"); $conf->encoding = 'UTF-8'; $referrals= $conf->getElementsByTagName("referral"); foreach($referrals as $referral){ $user = $referral->attributes->getNamedItem("adminDn"); echo "* encrypting GOsa password for: ".$user->nodeValue."\n"; $pw= $referral->attributes->getNamedItem("adminPassword"); $pw->nodeValue= cred_encrypt($pw->nodeValue, $master_key); } # Encrypt the snapshot passwords $locations= $conf->getElementsByTagName("location"); foreach($locations as $location){ $name = $location->attributes->getNamedItem("name"); $node = $location->attributes->getNamedItem("snapshotAdminPassword"); if($node->nodeValue){ echo "* encrypting snapshot pasword for location: ".$name->nodeValue."\n"; $node->nodeValue = cred_encrypt($node->nodeValue, $master_key);; } } # Move original gosa.conf out of the way and make it unreadable for the web user echo "* creating backup in /etc/gosa/gosa.conf.orig\n"; rename("/etc/gosa/gosa.conf", "/etc/gosa/gosa.conf.orig"); chmod("/etc/gosa/gosa.conf.orig", 0600); chown ("/etc/gosa/gosa.conf.orig", "root"); chgrp ("/etc/gosa/gosa.conf.orig", "root"); # Save new passwords echo "* saving modified /etc/gosa/gosa.conf\n"; $conf->save("/etc/gosa/gosa.conf") or die("Cannot write modified /etc/gosa/gosa.conf - aborted\n"); chmod("/etc/gosa/gosa.conf", 0640); chown ("/etc/gosa/gosa.conf", "root"); chgrp ("/etc/gosa/gosa.conf", "www-data"); echo "OK\n\n"; # Print reminder echo<< php_admin_flag engine on php_admin_value open_basedir "/etc/gosa/:/usr/share/gosa/:/var/cache/gosa/:/var/spool/gosa/" php_admin_flag register_globals off php_admin_flag allow_call_time_pass_reference off php_admin_flag expose_php off php_admin_flag zend.ze1_compatibility_mode off php_admin_flag register_long_arrays off php_admin_flag magic_quotes_gpc on include /etc/gosa/gosa.secrets Please reload your httpd configuration after you've modified anything. EOF; ?>