]> git.pld-linux.org Git - packages/MigrationTools.git/blob - MigrationTools-smbkrb5.patch
- drop obsolete and outdated manual inclusion of rpm macros
[packages/MigrationTools.git] / MigrationTools-smbkrb5.patch
1 diff -ur MigrationTools-47/migrate_common.ph MigrationTools-47-krb5/migrate_common.ph
2 --- MigrationTools-47/migrate_common.ph 2009-06-22 16:16:02.730586333 +0200
3 +++ MigrationTools-47-krb5/migrate_common.ph    2009-06-22 16:15:55.070581897 +0200
4 @@ -120,6 +120,11 @@
5  #      $DEFAULT_REALM = $DEFAULT_MAIL_DOMAIN;
6  #      $DEFAULT_REALM =~ tr/a-z/A-Z/;
7  #}
8 +
9 +# Default SMB SID (must be non-empty string)
10 +#if ($EXTENDED_SCHEMA) {
11 +#      $DEFAULT_SMB_SID = "";
12 +#}
13  
14  if (-x "/usr/sbin/revnetgroup") {
15         $REVNETGROUP = "/usr/sbin/revnetgroup";
16 diff -ur MigrationTools-47/migrate_passwd.pl MigrationTools-47-krb5/migrate_passwd.pl
17 --- MigrationTools-47/migrate_passwd.pl 2009-06-22 16:16:02.850581340 +0200
18 +++ MigrationTools-47-krb5/migrate_passwd.pl    2009-06-22 16:13:13.997264191 +0200
19 @@ -50,6 +52,7 @@
20         exit 1;
21  }
22  
23 +$do_samba = 0;
24  if ( defined($IGNORE_UID_BELOW) ) {
25         $minuid = $IGNORE_UID_BELOW;
26  }
27 @@ -57,13 +60,22 @@
28         } elsif ($ARGV[0] eq "--maxgid") {
29                 $maxgid = $ARGV[1];
30                 shift ; shift;
31 +       } elsif ($ARGV[0] eq "--samba") {
32 +               $do_samba = 1;
33 +               shift;
34         } else {
35                 shift;
36         }
37  }
38  
39 +if ($do_samba && !defined($DEFAULT_SMB_SID)) {
40 +       print STDERR "You must set \$DEFAULT_SMB_SID in %CONFDIR%migrate_common.ph to migrate smbpasswd\n";
41 +       exit 2;
42 +}
43 +
44  &parse_args();
45  &read_shadow_file();
46 +if ($do_samba) { &read_samba(); }
47  &open_files();
48  
49  while(<INFILE>)
50 @@ -138,7 +150,28 @@
51         print $HANDLE "objectClass: top\n";
52  
53         if ($DEFAULT_REALM) {
54 -               print $HANDLE "objectClass: kerberosSecurityObject\n";
55 +               print $HANDLE "objectClass: krb5Principal\n";
56 +               print $HANDLE "objectClass: krb5KDCEntry\n";
57 +               print $HANDLE "krb5PrincipalName: $user\@$DEFAULT_REALM\n";
58 +               print $HANDLE "krb5KeyVersionNumber: 0\n";
59 +               print $HANDLE "krb5KDCFlags: 126\n";
60 +               print $HANDLE "krb5MaxRenew: 604800\n";
61 +               print $HANDLE "krb5MaxLife: 86400\n";
62 +       }
63 +
64 +       if ($DEFAULT_SMB_SID) {
65 +               my $userSID = (2 * $uid) + 1000;
66 +               my $groupSID = (2 * $gid) + 1001;
67 +               print $HANDLE "objectClass: sambaSamAccount\n";
68 +               print $HANDLE "displayName: $cn\n";
69 +               print $HANDLE "sambaSID: $DEFAULT_SMB_SID-$userSID\n";
70 +               print $HANDLE "sambaPrimaryGroupSID: $DEFAULT_SMB_SID-$groupSID\n";
71 +               if ($do_samba) {
72 +                       print $HANDLE "sambaLMPassword: ".$sambaUsers{$user}->{"sambaLMPassword"}."\n";
73 +                       print $HANDLE "sambaNTPassword: ".$sambaUsers{$user}->{"sambaNTPassword"}."\n";
74 +                       print $HANDLE "sambaAcctFlags: ".$sambaUsers{$user}->{"sambaAcctFlags"}."\n";
75 +                       print $HANDLE "sambaPwdLastSet: ".$sambaUsers{$user}->{"sambaPwdLastSet"}."\n";
76 +               }
77         }
78  
79         if ($shadowUsers{$user} ne "") {
80 @@ -147,10 +175,6 @@
81                 print $HANDLE "userPassword: {crypt}$pwd\n";
82         }
83  
84 -       if ($DEFAULT_REALM) {
85 -               print $HANDLE "krbName: $user\@$DEFAULT_REALM\n";
86 -       }
87 -
88         if ($shell) {
89                 print $HANDLE "loginShell: $shell\n";
90         }
91 @@ -226,3 +250,16 @@
92         }
93  }
94  
95 +sub read_samba
96 +{
97 +       open(INPUT, "</etc/samba/smbpasswd");
98 +       while (<INPUT>) {
99 +               my ($sambaUser, $id, $lmp, $ntp, $f, $lf, $xxx) = split(':');
100 +               $sambaUsers{$sambaUser}->{"sambaLMPassword"} = $lmp;
101 +               $sambaUsers{$sambaUser}->{"sambaNTPassword"} = $ntp;
102 +               $sambaUsers{$sambaUser}->{"sambaAcctFlags"} = $f;
103 +               $lf =~ s/^LCT-//;
104 +               $sambaUsers{$sambaUser}->{"sambaPwdLastSet"} = hex($lf);
105 +       }
106 +       close(INPUT);
107 +}
108 diff -ur MigrationTools-47/migrate_group.pl MigrationTools-47-krb5/migrate_group.pl
109 --- MigrationTools-47/migrate_group.pl  2009-06-23 17:02:54.982471778 +0200
110 +++ MigrationTools-47-krb5/migrate_group.pl     2009-06-24 13:43:59.759317493 +0200
111 @@ -86,6 +86,12 @@
112         print $HANDLE "dn: cn=$group,$NAMINGCONTEXT\n";
113         print $HANDLE "objectClass: posixGroup\n";
114         print $HANDLE "objectClass: top\n";
115 +       if ($DEFAULT_SMB_SID) {
116 +               my $groupSID = (2 * $gid) + 1001;
117 +               print $HANDLE "objectClass: sambaGroupMapping\n";
118 +               print $HANDLE "sambaSID: $DEFAULT_SMB_SID-$groupSID\n";
119 +               print $HANDLE "sambaGroupType: 2\n";
120 +       }
121         print $HANDLE "cn: $group\n";
122         if ($pwd) {
123                 print $HANDLE "userPassword: {crypt}$pwd\n";
This page took 0.04311 seconds and 3 git commands to generate.