Jemand zu Hause?
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
Net::LDAP kannst du ja den LDAP-Server abfragen und nach bestimmten Nutzern suchen.
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;
}
Tipp zum Debugging