hellsmurf
Goto Top

XP Prof SP3, Kindersicherung mit Bordmitteln

Hallo allerseits!

Ich komme hier bei der Einrichtung von einer Art Kindersicherung / Zugriffsbeschränkung nicht mehr weiter und bin für jede Hilfe dankbar. Grundsätzlich wollte ich eigentlich auf Zusatzsoftware verzichten, weil:
  • ein Multi-User-OS das allein können muss
  • weil die Beschränkung auf möglichst niedriger Ebene passieren sollte (Umgehung bestmöglich verhindern)

Ausgangssituation:
  • Windows XP Prof. Sp3
  • drei Benutzerkonten:
    1. eingeschränkter Benutzer: zum Arbeiten
    2. eingeschränkter Benutzer: zum Spielen
    3. Admin: für die Verwaltung des Systems durch die Eltern
  • ein unbelehrbarer Teenager

Das funktioniert bisher:
  • NTFS-Zugriffsrechte: der Arbeits-Account darf nicht spielen und das Admin-Passwort ist dem Nutzer aus gutem Grund unbekannt
  • die Anmeldezeit wurde eingeschränkt:
    net user ... /times:So-Do,7-21;Fr-Sa,7-23
  • weil "net accounts /forcelogoff:..." nicht den naiv erwarteten Effekt zeigt, wurde das erzwungene Abmelden über einen vom Admin geplanten Task um 21 bzw. 23 Uhr realisiert:
    shutdown -l -f
  • PTB-Zeitsync und BIOS-Passwort zum Schutz der Systemzeit face-big-smile

Folgende Probleme sind noch offen:
  • spielen über "Ausführen als..." bzw. mit "RunAs" über die Kommandozeile
--> kann man das einem bestimmten User verbieten?
  • tägliches Zeitkontingent von 1 oder 2 Stunden für den Spiel-Account
    1. das Problem wurde hier schon mal ohne Lösung diskutiert
    2. es wäre sicher hilfreich, per Abmeldeskript die Sitzungsdauer abfragen zu können, damit das Zeitkonto sukzessive reduziert werden kann
    3. mit Sachen wie Ruhezustand, Standby und "tsdiscon" kann man geplante Abmeldebefehle umgehen
    4. jeder mit Nutzerrechten initiierte Zeitzähler kann auch mit Nutzerrechten manipuliert werden
    5. "runas /savecred /user:Administrator ..." ist eine gaaaanz schlechte Idee
    6. Anmeldeskripts, die im Hintergrund weiterlaufen, kann man abbrechen
    7. eine zeitverzögerte Abmeldung beherrscht XP scheinbar auch nicht
      REM Vorsicht mit diesem Befehl, unverhofft kommt oft...
      shutdown -l -f -t 3600

Danke im Voraus für eure Ideen!

Content-Key: 117870

Url: https://administrator.de/contentid/117870

Printed on: April 16, 2024 at 07:04 o'clock

Member: pxxsxx
pxxsxx Jun 10, 2009 at 10:04:14 (UTC)
Goto Top
Kindersicherung mit Windows-Bordmitteln - trauriger Witz.

Ich würde in meiner Naivität so vorgehen:

beim Anmelden wird die Uhrzeit in eine Textdatei (%date%.log) geschrieben.
über den Taskplaner würde ich einen Job laufen lassen, der alle 5 Minuten nachsieht, ob seit der Erstellung 1 oder 2 Stunden vergangen sind. Wenn nein passt scho, weitermachen - wenn ja abmelden und Zeit wegschreiben (echo %time% >> %date%.log).

Somit hast du auch für jeden Tag die An- und Abmeldezeiten zur Auswertung.

Problem ist dabei, dass die Zeit in der Textdatei vom Benutzer geändert werden kann. Mit Bordmitteln ist mir keine Möglichkeit bekannt, wie ich effektiv einem Benutzer die Möglichkeit gebe, ein Script mit Administratorkennung zu starten, ohne ihm das Kennwort zu geben - zumindest indirekt.
Das hab ich hier mit AutoHotKey gemacht. Script zum Aufruf schreiben und compilieren.
Ausserdem müsste sichergestellt werden, dass wenn er sich am selben Tag abmeldet und neu anmeldet, die Zeit nicht wieder überschrieben wird. (evtl. mit if exist %date%.log)

Gruß
Peter
Member: hellsmurf
hellsmurf Jun 10, 2009 at 22:25:07 (UTC)
Goto Top
Hallo Peter!

Zitat von @pxxsxx:
Ich würde in meiner Naivität so vorgehen: ...
Lustig, genau so habe ich diesen Ansatz auch erst abgestraft, scheint aber bei genauerem Hinsehen kaum Alternativen zu geben. Eine weitere Möglichkeit wäre, die verfügbare Restzeit per PC-Start-Skript in der Log-Datei / Registry auf einen definierten Wert zu setzen, falls die letzte Anmeldung nicht am selben Tag erfolgte. Und dann halt wie oben im 5min-Takt runterzählen.
Zitat von @pxxsxx:
... wie ich effektiv einem Benutzer die Möglichkeit gebe, ein Script mit Administratorkennung zu starten, ...
Okay, genau genommen, sollte ihm das Skript ja aufgezwungen werden. Das müsste, objektiv betrachtet, möglich sein - aber M$ hat hier anscheinend andere Ansichten.

Würde anstelle des AutoHotKey auch ein Batch-Compiler helfen, damit das PW wenigsten nich im Plain-Text drinsteht? ... hab grad nicht die Zeit, mich in eine neue Skriptsprache "reinzufuchsen".

Wenn das mit der Manipulation nicht vermieden werden kann, muss ich wohl bei der Namensvergabe für die Datei / den Schlüssel etwas kreativ sein ... so was wie "015A45F78B5D6B8A76F7E6C897D" kommt immer gut :-P

Hat jemand noch eine Idee zu der "Ausführen als..."-Geschichte? Das wäre auch wichtig.

MfG
Member: hellsmurf
hellsmurf Jun 12, 2009 at 00:57:24 (UTC)
Goto Top
Zitat von @hellsmurf:
Hat jemand noch eine Idee zu der "Ausführen als..."-Geschichte? Das wäre auch wichtig.
Ja, ich hab noch ne Idee...quick and dirty:
  • dem Arbeitsaccount den Zugriff auf "C:\Windows\system32\runas.exe" verbieten
  • den Kontextmenü-Eintrag "Ausführen als..." bei Executables für den Arbeitsaccount deaktivieren:
    1. [Windows]+[R] >>> "regedit"
    2. HKEY_CLASSES_ROOT\exefile\shell\runas >>> Rechtsklick >>> Berechtigungen >>> User hinzufügen und Zugriff sperren
    3. sofern existent, mit HKEY_CLASSES_ROOT\batfile\shell\runas und HKEY_CLASSES_ROOT\cmdfile\shell\runas genauso verfahren
Den Ansatz hab ich von hier.

Ich denke, damit steht das Konzept erstmal grundsätzlich. Ist zwar nicht "wasserdicht" aber doch zumindest "spitzwassergeschützt". face-wink
MfG