Sicherheit für Ordner und Dateien
Lagern Ordner und Dateien auf einer Laufwerkspartion die mit dem NTFS
formatiert wurde, so kann festgelegt werden, welche Benutzer oder
Gruppen welche Zugriffe auf diese Ordner und Dateien
besitzen.
Bei der professionellen
Version von Windows XP kann im
Eigenschaftsdialog der jeweiligen Dateien und Ordner die erforderlichen
Einstellungen vorgenommen werden. Bei der Home-Version hingegen fehlt
im Dialog diese Seite Sicherheit.
Dadurch wird die Verwendung der schon
aus Sicherheitsgründen sinnvolle, man denke nur an die beliebten
Viren, Würmer und Trojaner, von eingeschränkten
Benutzerkonten enorm erschwert.
In der Zuhause-Version muss man entweder das tolle Konsolen-Programm
cacls.exe oder den abgesicherten Modus von Windows verwenden. Alles
nicht gerade komfortabel.
Trotz einigen Untersuchungen ist kein Grund zu finden, warum die Seite Sicherheit nur im abgesicherten
Modus verfügbar sein sollte. Es scheint eine reine Schikane von
Microsoft zu sein - vielleicht ein Argument zum Erwerb der teuren
Professionellen Version?
Der Dialog für die Sicherheitseinstellungen für Dateien liegt
in der Datei für Shellerweiterungen mit dem Namen rshx32.dll. Von
dieser Datei erzeugt das Programm nun eine veränderte Kopie mit
dem Namen rshx32_p.dll. Ferner werden in der Registrierungsdatenbank
von Windows die Einträge für rshx32.dll auf rshx32_p.dll
geändert und ein Schlüssel eingefügt, der der gepatchten
Kopie Glauben macht, Windows liefe im abgesicherten Modus.
So wird's gemacht:
- Starten Sie das Programm FileSecPatch.exe mit Admin-Rechten.
- Klicken Sie auf den Schalter
Patch durchführen
Der Patch ist sofort wirksam. Bei Ordnern haben Sie nun unter Freigabe und Sicherheit eine Seite Sicherheit. Bei Dateien rufen Sie Eigenschaften auf.
Möchten Sie diesen Patch doch nicht haben wollen, können Sie
ihn einfach durch ein Klick auf Patch
entfernen wieder beseitigen.
Wichtig:
Es werden keine originale Dateien verändert oder ersetzt!
Technischer Hintergrund
Auch im normalen Modus von Windows XP Home Edition wird die Datei
rshx32.dll geladen und die Funktionen mit den entsprechen Daten
versorgt. Erst die Funktion
IShellPropSheetExt::AddPages(...) lässt die Anzeige der Seite
Sicherheit scheitern. Untersucht man diese Funktion der rshx32.dll im
Debugger, stellt man fest, dass unter dem Registery-Schlüssel
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SafeBoot\Option
versucht wird, den DWORD-Wert OptionValue zu lesen und auf den Wert 1
zu testen. Dieser Schlüssel ist immer dann vorhanden, wenn Windows
XP im abgesicherten Modus ausgeführt wird.
Nun könnte man einfach generell auch für den normalen Modus
einen solchen Schlüssel einfügen - was auch gelingt. Jedoch
'denkt' Windows nun, es würde immer im abgesicherten Modus
ausgeführt, und zwar mit allen bekannten Einschränkungen der
dieser Modus mt sich bringt. Also keine Lösung des Problems.
Das direkte Ändern des Programmcodes hat etliche Nachteile. Zum
Beispiel gibt es mehrere Versionen der Datei rshx32.dll je nach
installiertem SP, die dann natürlich alle extra behandelt werden
müssten. Aber es funktioniert viel einfacher. Der genannte
Schlüssel SYSTEM\CurrentControlSet\Control\SafeBoot\Option
befindet sich in der Datei als Unicode-String. Dieser wird nun einfach
in einer Kopie von rshx32.dll auf
SYSTEM\CurrentControlSet\Control\SafeBoot geändert. Unter
dem geänderten Schlüssel wird noch mit Regedit ein DWORD-Key
mit dem
Namen OptionValue eingefügt und fertig!
Unter den beiden Schlüsseln für das COM-Object wird
abschließend der Name der gepatchten Datei eingefügt.
HKEY_CLASSES_ROOT\CLSID\{1f2e5c40-9550-11ce-99d2-00aa006e086c}
HKEY_CLASSES_ROOT\CLSID\{F37C5810-4D3F-11d0-B4BF-00AA00BBB723}
Mit einem Hex-Editor und mit Regedit kann man also die Änderungen
auch zu Fuß durchführen.