X-Git-Url: https://git.adam-barratt.org.uk/?a=blobdiff_plain;f=ud-host;h=c3bf07d3acb1495ab4c10e927c333548715ef66a;hb=9851e530e67ba895a6853c3746011214116fa6e9;hp=f969a61735d297d6cc327b4dc35c29807320a556;hpb=67fee6d558bafa581e27d750db0a84334e4872b0;p=mirror%2Fuserdir-ldap.git diff --git a/ud-host b/ud-host index f969a61..c3bf07d 100755 --- a/ud-host +++ b/ud-host @@ -1,5 +1,25 @@ #!/usr/bin/env python # -*- mode: python -*- + +# Copyright (c) 2000-2001 Jason Gunthorpe +# Copyright (c) 2001 Ryan Murray +# Copyright (c) 2003 James Troup +# Copyright (c) 2004 Joey Schulze +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + # This script is an interactive way to manipulate fields in the LDAP directory. # When run it connects to the directory using the current users ID and fetches # all the attributes for the first machine. It then formats them nicely and @@ -37,7 +57,7 @@ AttrPrompt = {"description": ["Purpose of the machine"], "distribution": ["The distribution version"], "access": ["all, developer only, restricted"], "admin": ["Admin email address"], - "architecture": ["Debian Arhitecture string"], + "architecture": ["Debian Architecture string"], "machine": ["Hardware description"], "memory": ["Installed RAM"], "disk": ["Disk Space, RAID levels, etc"], @@ -174,22 +194,10 @@ for (switch, val) in options: BindUser = ""; if (BindUser != ""): - print "Accessing LDAP entry", -if (BindUser != User): - if (BindUser != ""): - print "as '" + BindUser + "'"; -else: - print; -if (BindUser != ""): - Password = getpass(BindUser + "'s password: "); - -# Connect to the ldap server -l = ldap.open(LDAPServer); -UserDn = "uid=" + BindUser + "," + BaseDn; -if (BindUser != ""): - l.simple_bind_s(UserDn,Password); + l = passwdAccessLDAP(LDAPServer, BaseDn, BindUser) else: - l.simple_bind_s("",""); + l = ldap.open(LDAPServer); + l.simple_bind_s("","") HBaseDn = "ou=hosts,dc=debian,dc=org"; HostDn = "host=" + Host + "," + HBaseDn; @@ -243,9 +251,13 @@ while(1): if len(NAttrs) != 0: print "Host",NewHost,"already exists."; continue; + NewHostName = raw_input("Hostname? "); + if NewHost == "": + continue; Dn = "host=" + NewHost + "," + HBaseDn; - l.add_s(Dn,[("host",NewHost), - ("objectclass","top")]); + l.add_s(Dn,[("host", NewHost), + ("hostname", NewHostName), + ("objectClass", ("top", "debianServer"))]); # Switch NAttrs = l.search_s(HBaseDn,ldap.SCOPE_ONELEVEL,"host=" + NewHost);