Moin Christian,
ich weiß ich bin spät dran ... so ungefähr zweieinhalb Jahre zu spät. Aber was soll's
Zitat von
Christian Seehase:
so ganz bin ich auch noch nicht hinter die Logik bei den Privilegien gestiegen, aber soweit ich das bislang verstanden habe kann es durchaus sein, dass der Account eines der Privilegien besitzt, dieses aber nicht aktiv ist.
Korrekt. Privilegien muß man aber besitzen (bei NT4 bereits während des Bootvorgangs) um sie zu aktivieren.
Zitat von
Christian Seehase:
Das hat den den gleichen Effekt, als wäre es nicht zugeordnet.
Dann könntest du es nicht aktivieren.
Beispiel: Der Administrator (RID 500) hat im Prinzip weniger Rechte als SYSTEM (außer Netzwerk), er darf aber wiederum Privilegien aktivieren, die er nutzen kann um als SYSTEM zu agieren. Ich hoffe du verstehst nun den Unterschied zwischen aktiviert und nicht vorhanden. In letzterem Fall (Gast zB) hätte der Nutzer ja nichtmal die Möglichkeit das Privileg zu aktivieren, er hat es ja nicht.
Das System ist ziemlich clever, wenn man bedenkt, daß man immer mit möglichst wenigen _aktiven_ Rechten rumlaufen sollte.
Zitat von
Christian Seehase:
Also müsste es doch genügen den Wert mit LookupPrivilegeValue auszulesen, um festzustellen, ob der Account über dieses Privileg verfügt. Man weiss dann nur nicht, ob dieses auch aktiv ist.
AdjustTokenPrivileges() gibt dir die alten Werte zurück nachdem du ein Privileg angepaßt hast und GetTokenInformation() kannst du nutzen um das nur auszulesen
@Mathias: Ich gucke mal eben mit nem Disassembler nach, ob das aktiviert wird oder nicht!