]> git.pld-linux.org Git - packages/MigrationTools.git/commitdiff
- parse smbpasswd, properly set other samba fields
authorJan Rękorajski <baggins@pld-linux.org>
Tue, 23 Jun 2009 15:04:12 +0000 (15:04 +0000)
committercvs2git <feedback@pld-linux.org>
Sun, 24 Jun 2012 12:13:13 +0000 (12:13 +0000)
Changed files:
    MigrationTools-smbkrb5.patch -> 1.2

MigrationTools-smbkrb5.patch

index 541cea4903ef2c70fbe1119db2ece724d061ac09..1dc907ec5a962bc3b5cf191598c3fb86fa84d796 100644 (file)
@@ -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 @@ diff -ur MigrationTools-47/migrate_passwd.pl MigrationTools-47-krb5/migrate_pass
 +              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 @@ diff -ur MigrationTools-47/migrate_passwd.pl MigrationTools-47-krb5/migrate_pass
        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);
++}
This page took 0.075516 seconds and 4 git commands to generate.