packages: MigrationTools/MigrationTools-smbkrb5.patch - parse smbpasswd, pr...

baggins baggins at pld-linux.org
Tue Jun 23 17:04:18 CEST 2009


Author: baggins                      Date: Tue Jun 23 15:04:18 2009 GMT
Module: packages                      Tag: HEAD
---- Log message:
- parse smbpasswd, properly set other samba fields

---- Files affected:
packages/MigrationTools:
   MigrationTools-smbkrb5.patch (1.1 -> 1.2) 

---- Diffs:

================================================================
Index: packages/MigrationTools/MigrationTools-smbkrb5.patch
diff -u packages/MigrationTools/MigrationTools-smbkrb5.patch:1.1 packages/MigrationTools/MigrationTools-smbkrb5.patch:1.2
--- packages/MigrationTools/MigrationTools-smbkrb5.patch:1.1	Mon Jun 22 16:16:14 2009
+++ packages/MigrationTools/MigrationTools-smbkrb5.patch	Tue Jun 23 17:04:12 2009
@@ -1,32 +1,53 @@
 diff -ur MigrationTools-47/migrate_common.ph MigrationTools-47-krb5/migrate_common.ph
 --- MigrationTools-47/migrate_common.ph	2009-06-22 16:16:02.730586333 +0200
 +++ MigrationTools-47-krb5/migrate_common.ph	2009-06-22 16:15:55.070581897 +0200
-@@ -120,10 +120,16 @@
- }
- 
- # Default Kerberos realm
--#if ($EXTENDED_SCHEMA) {
--#	$DEFAULT_REALM = $DEFAULT_MAIL_DOMAIN;
--#	$DEFAULT_REALM =~ tr/a-z/A-Z/;
--#}
-+if ($EXTENDED_SCHEMA) {
-+	$DEFAULT_REALM = $DEFAULT_MAIL_DOMAIN;
-+	$DEFAULT_REALM =~ tr/a-z/A-Z/;
-+}
+@@ -120,6 +120,11 @@
+ #	$DEFAULT_REALM = $DEFAULT_MAIL_DOMAIN;
+ #	$DEFAULT_REALM =~ tr/a-z/A-Z/;
+ #}
 +
-+# Default SMB Domain
-+if ($EXTENDED_SCHEMA) {
-+	$DEFAULT_SMB_DOMAIN = $DEFAULT_MAIL_DOMAIN;
-+	$DEFAULT_SMB_DOMAIN =~ tr/a-z/A-Z/;
-+}
++# Default SMB SID (must be non-empty string)
++#if ($EXTENDED_SCHEMA) {
++#	$DEFAULT_SMB_SID = "";
++#}
  
  if (-x "/usr/sbin/revnetgroup") {
  	$REVNETGROUP = "/usr/sbin/revnetgroup";
-Only in MigrationTools-47-krb5: migrate_common.ph~
 diff -ur MigrationTools-47/migrate_passwd.pl MigrationTools-47-krb5/migrate_passwd.pl
 --- MigrationTools-47/migrate_passwd.pl	2009-06-22 16:16:02.850581340 +0200
 +++ MigrationTools-47-krb5/migrate_passwd.pl	2009-06-22 16:13:13.997264191 +0200
-@@ -138,7 +138,15 @@
+@@ -50,6 +52,7 @@
+ 	exit 1;
+ }
+ 
++$do_samba = 0;
+ while ($ARGV[0] =~ /^--.*/) {
+ 	if ($ARGV[0] eq "--minuid") {
+ 		$minuid = $ARGV[1];
+@@ -57,13 +60,22 @@
+ 	} elsif ($ARGV[0] eq "--maxuid") {
+ 		$maxuid = $ARGV[1];
+ 		shift ; shift;
++	} elsif ($ARGV[0] eq "--samba") {
++		$do_samba = 1;
++		shift;
+ 	} else {
+ 		shift;
+ 	}
+ }
+ 
++if ($do_samba && !defined($DEFAULT_SMB_SID)) {
++	print STDERR "You must set \$DEFAULT_SMB_SID in /etc/openldap/migrate_common.ph to migrate smbpasswd\n";
++	exit 2;
++}
++
+ &parse_args();
+ &read_shadow_file();
++if ($do_samba) { &read_samba(); }
+ &open_files();
+ 
+ while(<INFILE>)
+@@ -138,7 +150,23 @@
  	print $HANDLE "objectClass: top\n";
  
  	if ($DEFAULT_REALM) {
@@ -37,13 +58,21 @@
 +		print $HANDLE "krb5KeyVersionNumber: 0\n";
 +	}
 +
-+	if ($DEFAULT_SMB_DOMAIN) {
++	if ($DEFAULT_SMB_SID) {
 +		print $HANDLE "objectClass: sambaSamAccount\n";
-+		print $HANDLE "sambaSID: 0\n";
++		print $HANDLE "displayName: $cn\n";
++		print $HANDLE "sambaSID: $DEFAULT_SMB_SID-$uid\n";
++		print $HANDLE "sambaPrimaryGroupSID: $DEFAULT_SMB_SID-$gid\n";
++		if ($do_samba) {
++			print $HANDLE "sambaLMPassword: ".$sambaUsers{$user}->{"sambaLMPassword"}."\n";
++			print $HANDLE "sambaNTPassword: ".$sambaUsers{$user}->{"sambaNTPassword"}."\n";
++			print $HANDLE "sambaAcctFlags: ".$sambaUsers{$user}->{"sambaAcctFlags"}."\n";
++			print $HANDLE "sambaPwdLastSet: ".$sambaUsers{$user}->{"sambaPwdLastSet"}."\n";
++		}
  	}
  
  	if ($shadowUsers{$user} ne "") {
-@@ -147,10 +155,6 @@
+@@ -147,10 +175,6 @@
  		print $HANDLE "userPassword: {crypt}$pwd\n";
  	}
  
@@ -54,3 +83,20 @@
  	if ($shell) {
  		print $HANDLE "loginShell: $shell\n";
  	}
+@@ -226,3 +250,16 @@
+ 	}
+ }
+ 
++sub read_samba
++{
++	open(INPUT, "</etc/samba/smbpasswd");
++	while (<INPUT>) {
++		my ($sambaUser, $id, $lmp, $ntp, $f, $lf, $xxx) = split(':');
++		$sambaUsers{$sambaUser}->{"sambaLMPassword"} = $lmp;
++		$sambaUsers{$sambaUser}->{"sambaNTPassword"} = $ntp;
++		$sambaUsers{$sambaUser}->{"sambaAcctFlags"} = $f;
++		$lf =~ s/^LCT-//;
++		$sambaUsers{$sambaUser}->{"sambaPwdLastSet"} = hex($lf);
++	}
++	close(INPUT);
++}
================================================================

---- CVS-web:
    http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/MigrationTools/MigrationTools-smbkrb5.patch?r1=1.1&r2=1.2&f=u



More information about the pld-cvs-commit mailing list