2011-10-17T11:18:58 ariegerWenn jemand dort als Admin eingeloggt ist, kann er doch sowieso alles machen.wenn jetzt jemand das script weitergeben würde, könnte ein fremder das script ausführen
Quotedas script liegt local auf den admin-rechnern (mac osx)und wird dort auch ausgeführt. wenn jetzt jemand das script weitergeben würde, könnte ein fremder das script ausführen, daher auch der user-login im script selbst nochmal
"root admins rwx r-x ---"
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
#! /usr/bin/perl
use strict;
use warnings;
use Net::LDAPS;
use Net::LDAP;
my $host = "w.x.y.z:389";
my $ldaps = 0;
my $adminDn = "CN=LDAPAUTHUSER, CN=Users, OU=company,DC=company,CN=de";
my $adminPwd = "adminpassword!";
my $searchBase = "CN=department,OU=company,DC=company,CN=de";
my $userdn = testGuid ("$myGUID", "$password");
if ($userdn)
{
print "$userdn checks out!\n";
}
sub getUserDn
{
my $ldap;
my $guid = shift;
my $dn;
my $entry;
if ($ldaps) {
$ldap = Net::LDAPS->new($host, verify=>'none') or die "$@";
}
else {
$ldap = Net::LDAP->new($host, verify=>'none') or die "$@";
}
my $mesg = $ldap->bind ($adminDn, password=>"$adminPwd");
$mesg->code && return undef;
$mesg = $ldap->search(base => $searchBase, filter => "uid=$guid" );
$mesg->code && return undef;
$entry = $mesg->shift_entry;
if ($entry)
{
$dn = $entry->dn;
$entry->dump;
}
$ldap->unbind;
return $dn;
}
sub testGuid
{
my $ldap;
my $guid = shift;
my $userPwd = shift;
my $userDn = getUserDn ($guid);
return undef unless $userDn;
if ($ldaps) {
$ldap = Net::LDAPS->new($host, verify=>'none') or die "$@";
}
else {
$ldap = Net::LDAP->new($host, verify=>'none') or die "$@";
}
my $mesg = $ldap->bind ($userDn, password=>"$userPwd");
if ($mesg->code)
{
# Bad Bind
print $mesg->error . "\n";
return undef;
}
$ldap->unbind;
return $userDn;
}