gforge-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Gforge-commits] gforge/utils/ldap sql2ldif.pl,1.10.2.1,1.10.2.2


From: lo-lan-do
Subject: [Gforge-commits] gforge/utils/ldap sql2ldif.pl,1.10.2.1,1.10.2.2
Date: Sun, 28 Mar 2004 10:47:52 -0600

Update of /cvsroot/gforge/gforge/utils/ldap
In directory db.perdue.net:/tmp/cvs-serv26081/utils/ldap

Modified Files:
      Tag: Branch_3_1
        sql2ldif.pl 
Log Message:
Disable shell access for suspended and deleted accounts and enable
e-mail forwarding for accounts even if they don't belong to any group.


Index: sql2ldif.pl
===================================================================
RCS file: /cvsroot/gforge/gforge/utils/ldap/sql2ldif.pl,v
retrieving revision 1.10.2.1
retrieving revision 1.10.2.2
diff -u -d -r1.10.2.1 -r1.10.2.2
--- sql2ldif.pl 10 Jan 2004 21:41:11 -0000      1.10.2.1
+++ sql2ldif.pl 28 Mar 2004 16:47:47 -0000      1.10.2.2
@@ -83,6 +83,63 @@
 ";
 }
 
+# Now for non-active users
+my $query = "
+SELECT user_name,realname,unix_pw,unix_uid,email
+FROM users
+WHERE unix_status!='A'
+";
+my $rel = $dbh->prepare($query);
+$rel->execute();
+
+#print "$sys_ldap_host\n";
+#print "$sys_ldap_base_dn\n";
+
address@hidden('/dev/null','/bin/cvssh','/bin/bash');
+
+while(my ($username, $realname, $pw, $uid, $email) = $rel->fetchrow()) {
+    $shell = '/bin/false' ;
+    $cvs_flags = 0 ;
+       print "dn: uid=$username,ou=People,$sys_ldap_base_dn\n";
+       #CB# To have the same id than generated by new_parse
+       $uid += $uid_add;
+       print "uid: $username\n";
+       if (!$realname) { $realname='?'; }
+       $realname=~tr#\x80-\xff#?#;  # it should be UTF-8 encoded, we just drop 
non-ascii chars
+       print "cn: $realname
+objectClass: account
+objectClass: posixAccount
+objectClass: top
+objectClass: shadowAccount
+objectClass: debGforgeAccount
+";
+       #CB# gid was 100, i replace with $gid=$uid
+       $gid = $uid;
+       print "userPassword: {crypt}$pw
+shadowLastChange: 10879
+shadowMax: 99999
+shadowWarning: 7
+loginShell: $shell
+debGforgeCvsShell: $cvs_flags2shell[$cvs_flags]
+uidNumber: $uid
+gidNumber: $gid
+homeDirectory: $chroot/home/users/$username
+gecos: $realname
+debGforgeForwardEmail: $email
+
+";
+       #CB# To have the same id than generated by new_parse
+       #CB# A group per user
+       print "dn: cn=$username,ou=Group,$sys_ldap_base_dn
+objectClass: posixGroup
+objectClass: top
+cn: $username
+userPassword: {crypt}x
+gidNumber: $gid
+
+";
+}
+
 #
 #  Dump group entries (ou=Group)
 #





reply via email to

[Prev in Thread] Current Thread [Next in Thread]