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
5 # $DEFAULT_REALM = $DEFAULT_MAIL_DOMAIN;
6 # $DEFAULT_REALM =~ tr/a-z/A-Z/;
9 +# Default SMB SID (must be non-empty string)
10 +#if ($EXTENDED_SCHEMA) {
11 +# $DEFAULT_SMB_SID = "";
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
24 while ($ARGV[0] =~ /^--.*/) {
25 if ($ARGV[0] eq "--minuid") {
28 } elsif ($ARGV[0] eq "--maxuid") {
31 + } elsif ($ARGV[0] eq "--samba") {
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";
46 +if ($do_samba) { &read_samba(); }
51 print $HANDLE "objectClass: top\n";
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";
61 + if ($DEFAULT_SMB_SID) {
62 + my $userSID = (2 * $uid) + 1000;
63 + my $groupSID = (2 * $gid) + 1001;
64 + print $HANDLE "objectClass: sambaSamAccount\n";
65 + print $HANDLE "displayName: $cn\n";
66 + print $HANDLE "sambaSID: $DEFAULT_SMB_SID-$userSID\n";
67 + print $HANDLE "sambaPrimaryGroupSID: $DEFAULT_SMB_SID-$groupSID\n";
69 + print $HANDLE "sambaLMPassword: ".$sambaUsers{$user}->{"sambaLMPassword"}."\n";
70 + print $HANDLE "sambaNTPassword: ".$sambaUsers{$user}->{"sambaNTPassword"}."\n";
71 + print $HANDLE "sambaAcctFlags: ".$sambaUsers{$user}->{"sambaAcctFlags"}."\n";
72 + print $HANDLE "sambaPwdLastSet: ".$sambaUsers{$user}->{"sambaPwdLastSet"}."\n";
76 if ($shadowUsers{$user} ne "") {
78 print $HANDLE "userPassword: {crypt}$pwd\n";
81 - if ($DEFAULT_REALM) {
82 - print $HANDLE "krbName: $user\@$DEFAULT_REALM\n";
86 print $HANDLE "loginShell: $shell\n";
94 + open(INPUT, "</etc/samba/smbpasswd");
96 + my ($sambaUser, $id, $lmp, $ntp, $f, $lf, $xxx) = split(':');
97 + $sambaUsers{$sambaUser}->{"sambaLMPassword"} = $lmp;
98 + $sambaUsers{$sambaUser}->{"sambaNTPassword"} = $ntp;
99 + $sambaUsers{$sambaUser}->{"sambaAcctFlags"} = $f;
101 + $sambaUsers{$sambaUser}->{"sambaPwdLastSet"} = hex($lf);
105 diff -ur MigrationTools-47/migrate_group.pl MigrationTools-47-krb5/migrate_group.pl
106 --- MigrationTools-47/migrate_group.pl 2009-06-23 17:02:54.982471778 +0200
107 +++ MigrationTools-47-krb5/migrate_group.pl 2009-06-24 13:43:59.759317493 +0200
109 print $HANDLE "dn: cn=$group,$NAMINGCONTEXT\n";
110 print $HANDLE "objectClass: posixGroup\n";
111 print $HANDLE "objectClass: top\n";
112 + if ($DEFAULT_SMB_SID) {
113 + my $groupSID = (2 * $gid) + 1001;
114 + print $HANDLE "objectClass: sambaGroupMapping\n";
115 + print $HANDLE "sambaSID: $DEFAULT_SMB_SID-$groupSID\n";
116 + print $HANDLE "sambaGroupType: 2\n";
118 print $HANDLE "cn: $group\n";
120 print $HANDLE "userPassword: {crypt}$pwd\n";