summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKarl MacMillan <kmacmill@redhat.com>2007-10-22 11:58:31 -0400
committerKarl MacMillan <kmacmill@redhat.com>2007-10-22 11:58:31 -0400
commit2703be51c85fd8a64613c15b1aba565ca08c48b4 (patch)
tree85cfec7a5e3b85c47a8872554d864bda2e66dce5
parentf5cc36507bdbcbc57c2028df8c8eae969a5e40da (diff)
downloadfreeipa-2703be51c85fd8a64613c15b1aba565ca08c48b4.tar.gz
freeipa-2703be51c85fd8a64613c15b1aba565ca08c48b4.tar.xz
freeipa-2703be51c85fd8a64613c15b1aba565ca08c48b4.zip
Print warning about NTP
After looking into setting up ntpd on the IPA servers I decided it was better just to warn admins. There are just too many valid setups for time synchronization for us to try to get this right. Additionally, just installing ntp and accepting the default config will result in a configuration that is perfectly valid for IPA. This patch checks if ntpd is running and suggests enabling it if it is not - for client and server. It also adds some suggested next steps to the server installation.
-rw-r--r--ipa-client/ipa-install/ipa-client-install13
-rw-r--r--ipa-server/ipa-install/ipa-server-install31
2 files changed, 44 insertions, 0 deletions
diff --git a/ipa-client/ipa-install/ipa-client-install b/ipa-client/ipa-install/ipa-client-install
index 895756c6..0e89a66b 100644
--- a/ipa-client/ipa-install/ipa-client-install
+++ b/ipa-client/ipa-install/ipa-client-install
@@ -67,6 +67,14 @@ def logging_setup(options):
console.setFormatter(formatter)
logging.getLogger('').addHandler(console)
+def check_ntp():
+ ret_code = 1
+ p = subprocess.Popen(["/sbin/service", "ntpd", "status"], stdout=subprocess.PIPE,
+ stderr=subprocess.PIPE)
+ stdout, stderr = p.communicate()
+
+ return p.returncode
+
def main():
options = parse_options()
logging_setup(options)
@@ -200,6 +208,11 @@ def main():
#Modify pam to add pam_krb5
run(["/usr/sbin/authconfig", "--enablekrb5", "--update"])
+ # print warning about ntp
+ if check_ntp() != 0:
+ print "WARNING: Kerberos requires time synchronization between clients"
+ print "and servers for correct operation. You should consider enabling ntpd."
+
return 0
main()
diff --git a/ipa-server/ipa-install/ipa-server-install b/ipa-server/ipa-install/ipa-server-install
index a8da0ae2..e05340b3 100644
--- a/ipa-server/ipa-install/ipa-server-install
+++ b/ipa-server/ipa-install/ipa-server-install
@@ -372,6 +372,15 @@ def read_admin_password():
admin_password = read_password("IPA admin")
return admin_password
+def check_ntp():
+ ret_code = 1
+ p = subprocess.Popen(["/sbin/service", "ntpd", "status"], stdout=subprocess.PIPE,
+ stderr=subprocess.PIPE)
+ stdout, stderr = p.communicate()
+
+ return p.returncode
+
+
def main():
global ds
ds = None
@@ -584,6 +593,28 @@ def main():
fd.write("realm=" + realm_name + "\n")
fd.close()
+ print "=============================================================================="
+ print "Setup complete"
+ print ""
+ print "Next steps:"
+ print "\t1. You may need to open some network ports - specifically:"
+ print "\t\tTCP Ports:"
+ print "\t\t * 80, 443, 8080: HTTP/HTTPS"
+ print "\t\t * 389, 636: LDAP/LDAPS"
+ print "\t\t * 464: kpasswd"
+ print "\t\tUDP Ports:"
+ print "\t\t * 88, 750: kerberos"
+ print ""
+ print "\t2. You can now obtain a kerberos ticket using the command: 'kinit admin'."
+ print "\t This ticket will allow you to use the IPA tools (e.g., ipa-adduser)"
+ print "\t and the web user interface."
+
+ if check_ntp() != 0:
+ print "\t3. Kerberos requires time synchronization between clients"
+ print "\t and servers for correct operation. You should consider enabling ntpd."
+
+
+
return 0
try: