User an anderer Maschine ermitteln

Mahlzeit,
ist es möglich von einer anderen Maschine den angemeldeten User auszulesen?

An meinem PC kann ich über ein DOS-Fenster mit %username% den angemeldeten User auslesen. Nun möchte ich aber im Intranet den angemeldeten Benutzer anzeigen lassen.
Ist es Möglich von meinem Webserver herauszufinden, welcher User grade im Intranet ist?

Bisher habe ich per Script die Startseite des Users festgelegt,
diese hat dann mit einer automatischen Weiterleitung die Anmeldedaten weitergereicht,
aber das ganze ist ja alles andere als sicher.

Hoffe ich habe mich verständlich ausgedrückt.

Danke und Gruß

Marcel

P.S.
Windows XP mit Perl 5.X
Webserver: Apache 2.0.X, Perl 5.X, PHP 5, MySQL
Adminrechte, Zugriff auf alle Laufwerke, ob Server oder User

Hallo,

ist es möglich von einer anderen Maschine den angemeldeten
User auszulesen?

Wenn die andere Maschine das erlaubt, ja. Hast du Zugriff auf die „andere Maschine“?

An meinem PC kann ich über ein DOS-Fenster mit %username% den
angemeldeten User auslesen. Nun möchte ich aber im Intranet
den angemeldeten Benutzer anzeigen lassen.
Ist es Möglich von meinem Webserver herauszufinden, welcher
User grade im Intranet ist?

Bisher habe ich per Script die Startseite des Users
festgelegt,
diese hat dann mit einer automatischen Weiterleitung die
Anmeldedaten weitergereicht,
aber das ganze ist ja alles andere als sicher.

Hoffe ich habe mich verständlich ausgedrückt.

Nicht wirklich. Also ich fasse mal zusammen: Du willst ein CGI-Script schreiben, das eine bestimme Aktion ausführt, und zwar abhängig vom Usernamen. Und zwar vom System-Usernamen, als der der User unter Windows angemeldet ist, richtig?

Unter Linux gibt es für sowas den identd, ich weiß nicht, ob es da ein Windows-Äquivalent gibt. Aber das ist nur solange sicher, wie du als einziger Admin-Rechte auf den Clients hast - also vermutlich nicht.

Was bleibt, ist eine ganz gewöhnliche Userverwaltung, die z.B. per IP oder per HTTP-Cookies (und am Anfang Username & Password) funktioniert.

Aber schreib doch mal, was du genau erreichen willst, vielleicht kann ich dir dann eher helfen.

Grüße,
Moritz

Hallo Moritz,
ich versuche es nochmal genauer.

Im Firmennetzwerk kann jeder Mitarbeiter sich mit seiner Kennung und seinem Passwort an einem X-beliebigen PC anmelden.

Das Intranet soll nun Seiten zur Verfügung stellen, welche aber NICHT für jeden Mitarbeiter gestattet sind.

Nun möchte ich eine Überprüfung durchführen, damit der Mitarbeiter je nach seiner Kennung bestimmte Seiten angezeigt bekommt und andere nicht.

Ich habe die Möglichkeit dem Apache Dienst als Administrator laufen zu lassen, somit hätte der Dienst komplette Rechte, auf allen Maschinen und Laufwerken. Ein Zugriff wäre also möglich.

Grundsätzlich will ich eine Uservewaltung verhindern, es sollte reichen das die Mitarbeiter bei der Windowsanmeldung ihre Kennung und das Passwort eingeben.

Als Server (nicht der Webserver) im Netzwerk dient ein Linuxsystem mit LDAP-Verwaltung (nennt man das so?).

Meine derzeitige Lösung:
Die Mitarbeiter können die Startseite des Browsers nicht ändern.
Die Startseite ist auf dem Benutzerlaufwerk (auf dem Server) hinterlegt.
In der Startseite wird eine automatische Weiterleitung nach
http:/intrant/index.php?user=userid
erzeugt.
Nun wird in der index.php die userid in eine session geschrieben.
Schwupps habe ich die gewünschte Info des angemeldeten Mitarbeiters.

Leider kann der Mitarbeiter aber die Startseite ändern und eine andere Kennung eintragen.

Nun Suche ich nach einem System, welches nicht manipulierbar ist.
Am schönsten fände ich, sobald der Mitarbeiter das Intranet aufruft schaltet sich ein Script des Webservers anhand der IP auf den Rechner auf und liest dort den Usernamen aus. Alternativ auch einfach nur eine Datei auf dem Rechner, die standardmäßig vorhanden und schreibgeschützt ist.

Hoffe ich konnte mich etwas besser ausdrücken als im ersten Versuch.

Besten dank schonmal fürs lesen.

Gruß

Marcel

Im Firmennetzwerk kann jeder Mitarbeiter sich mit seiner
Kennung und seinem Passwort an einem X-beliebigen PC anmelden.

Das Intranet soll nun Seiten zur Verfügung stellen, welche
aber NICHT für jeden Mitarbeiter gestattet sind.

Grundsätzlich will ich eine Uservewaltung verhindern, es
sollte reichen das die Mitarbeiter bei der Windowsanmeldung
ihre Kennung und das Passwort eingeben.

deine frage hat also weder etwas mit perl noch mit cgi zu tun. denn sie lautet korekterweise: wie kann ein webserver den windows-benutzernamen des clients herausfinden, auf der auf den webserver zugreift. und gehoehrt damit in ein windowsbrett. dann kannst du auch gleich mit erlaeutern, ob sich die benutzer nur lokal am rechner anmelden, oder an einem domaincontroller. wenn letzteres waere das dein ansatzpunkt und die frage koennten wie folgt lauten: wie kann ich vom webserver aus den domaincontroller benutzernamen und ip abgelichen lassen.

ansonsten hast du noch den ansatzpunkt der anmeldescripte unter windows - dort einfach beim anmelden einen request auf den webserver absetzen, den benutzernamen uebergeben, auf dem webserver zeitstempel, benutzernamen und ip-verknuepfen, eine sessionid generieren und am client - dort auf alle faelle im benutzerprofile - hinterlegen. die startseite deines intranets hat ein vbscript eingebaut, dass die sessionid wieder zum client uebertraegt.

wenn sicherheit gar keine rolle spielt, dann kannst du auch mit einem vbscript „tasklist /V“ ausfuehren, nach iexplore.exe filtern und somit den benutzer auslesen. hast du natuerlich ein problem bei mehreren angemeldeten benutzern.

Hallo dog.je,
erstmal „Danke“ für die korrekte Formulierung meiner Frage.
Meine Windungen haben das irgendwie nicht hinbekommen…

die frage koennten wie folgt lauten: wie kann ich vom
webserver aus den domaincontroller benutzernamen und ip
abgelichen lassen.

ansonsten hast du noch den ansatzpunkt der anmeldescripte
unter windows - dort einfach beim anmelden einen request auf
den webserver absetzen, den benutzernamen uebergeben, auf dem
webserver zeitstempel, benutzernamen und ip-verknuepfen,

Ich glaube dieser Teil könnte für mich schon genügen und dürfte den Möglichkeiten entsprechend am sinnigsten sein.
Wenn ich es richtig verstehe:
Der User meldet sich am Arbeitsplatz an. Ein Script (Batch oder Perl stehen hier zur Verfügung) muss nun den Webserver anweisen die Daten zu übernehmen, der sog. Request.
Aber wie?
Ich glaube mir fehlen da einfach die Kenntnisse. Per Script kann ich die Daten nicht direkt auf dem Webserver schreiben, dafür müsste der angemeldete User entsprechende Rechte haben. Oder kann man das umgehen.
Nach dem Motto schreibe auf Webserver mit einer bestimmten Kennung und Passwort.
Oder steh ich wie so oft nur auf dem Schlauch?

gruß

Marcel

Hallo,

Der User meldet sich am Arbeitsplatz an. Ein Script (Batch
oder Perl stehen hier zur Verfügung) muss nun den Webserver
anweisen die Daten zu übernehmen, der sog. Request.
Aber wie?

Zum Beispiel, indem du ein CGI-Script mit einer ID aufrufst. Dieses Script logged die ID und die IP.
Danach ist dieses IP mit der zur ID gehörigen Userkennung assoziiert.
Das Problem ist, dass es kein automatisches Logout gibt, d.h. du müsstest die Session relativ schnell verfallen lassen, wenn du keine grauenhafte Sicherheitslücke haben willst.
Robust ist diese Lösung überhaupt nicht.

Das sicherste ist, alle zentral an einem LDAP-Server anmelden zu lassen, und dann Abfragen an diesen LDAP-Server zu starten.

Grüße,
Moritz