1 |
slords |
1.1 |
diff -up e-smith-samba-2.2.0/root/etc/e-smith/events/actions/create-machine-account.enable-cpu e-smith-samba-2.2.0/root/etc/e-smith/events/actions/create-machine-account |
2 |
|
|
--- e-smith-samba-2.2.0/root/etc/e-smith/events/actions/create-machine-account.enable-cpu 2005-04-19 08:19:17.000000000 -0600 |
3 |
|
|
+++ e-smith-samba-2.2.0/root/etc/e-smith/events/actions/create-machine-account 2010-11-01 11:57:31.000000000 -0600 |
4 |
|
|
@@ -28,6 +28,11 @@ use esmith::AccountsDB; |
5 |
|
|
use esmith::util; |
6 |
|
|
|
7 |
|
|
my $a = esmith::AccountsDB->open || die "Couldn't open accounts db\n"; |
8 |
|
|
+my $c = esmith::ConfigDB->open_ro || die "Could not open Config DB"; |
9 |
|
|
+ |
10 |
|
|
+my $ldapauth = $c->get('ldap')->prop('Authentication') || 'disabled'; |
11 |
|
|
+my $domain = $c->get('DomainName')->value(); |
12 |
|
|
+my $base = esmith::util::ldapBase ($domain); |
13 |
|
|
|
14 |
|
|
my $event = $ARGV [0]; |
15 |
|
|
my $machineName = $ARGV [1]; |
16 |
|
|
@@ -55,19 +60,43 @@ esmith::util::setRealToEffective(); |
17 |
|
|
|
18 |
|
|
warn "create-machine-account $machineName: Creating Unix user and group\n"; |
19 |
|
|
|
20 |
|
|
-system( |
21 |
|
|
- "/usr/sbin/useradd", |
22 |
|
|
- "-c", "Hostname account for $machineName", |
23 |
|
|
- "-M", |
24 |
|
|
- "-d", "/noexistingpath", |
25 |
|
|
- "-s", "/bin/false", |
26 |
|
|
- "$machineName" |
27 |
|
|
- ) == 0 or die "Failed to create account $machineName.\n"; |
28 |
|
|
+if ($domainauth eq 'enabled') |
29 |
|
|
+{ |
30 |
|
|
+ system( |
31 |
|
|
+ "/usr/sbin/cpu", "-C/etc/cpu-system.conf", "useradd", |
32 |
|
|
+ "--usebase=ou=Computers,$base", |
33 |
|
|
+ "-c", "Hostname account for $machineName", |
34 |
|
|
+ "-o", |
35 |
|
|
+ "-d", "/noexistingpath", |
36 |
|
|
+ "-s", "/bin/false", |
37 |
|
|
+ "$machineName" |
38 |
|
|
+ ) == 0 or die "Failed to create account $machineName.\n"; |
39 |
|
|
+ |
40 |
|
|
+ warn "create-machine-account $machineName: Locking account\n"; |
41 |
|
|
+ |
42 |
|
|
+ system("/usr/sbin/cpu", "-C/etc/cpu-system.conf", "usermod", |
43 |
|
|
+ "--usebase=ou=Computers,$base", |
44 |
|
|
+ "-o", |
45 |
|
|
+ "-L", |
46 |
|
|
+ "$machineName" |
47 |
|
|
+ ) == 0 or warn("Could not lock password for $machineName\n"); |
48 |
|
|
+} |
49 |
|
|
+else |
50 |
|
|
+{ |
51 |
|
|
+ system( |
52 |
|
|
+ "/usr/sbin/useradd", |
53 |
|
|
+ "-c", "Hostname account for $machineName", |
54 |
|
|
+ "-M", |
55 |
|
|
+ "-d", "/noexistingpath", |
56 |
|
|
+ "-s", "/bin/false", |
57 |
|
|
+ "$machineName" |
58 |
|
|
+ ) == 0 or die "Failed to create account $machineName.\n"; |
59 |
|
|
|
60 |
|
|
-warn "create-machine-account $machineName: Locking account\n"; |
61 |
|
|
+ warn "create-machine-account $machineName: Locking account\n"; |
62 |
|
|
|
63 |
|
|
-system("/usr/bin/passwd", "-l", "$machineName") == 0 |
64 |
|
|
- or warn("Could not lock password for $machineName\n"); |
65 |
|
|
+ system("/usr/bin/passwd", "-l", "$machineName") == 0 |
66 |
|
|
+ or warn("Could not lock password for $machineName\n"); |
67 |
|
|
+} |
68 |
|
|
|
69 |
|
|
# warn "create-machine-account $machineName: Creating smbpasswd account\n"; |
70 |
|
|
# |