Domino 9 und frühere Versionen > ND7: Entwicklung
ACL-Anpassung durch mit Server signierten Agenten
Demian:
Moin,moin,
erstmal ein frohes neues Jahr allen zusammen. Und schon die ersten Probleme: bei uns gab es vor einiger Zeit einen Admin-Wechsel. Dummerweise wurde bei der ein oder anderen Datenbank die ACL vorher nicht entsprechend geändert, so dass der neue Admin keinen Zugriff hat. Kein Problem hab ich mir gedacht und einen Agenten mit folgendem Code erstellt:
Sub Initialize
Dim work As New NotesUIWorkspace
Dim s As New NotesSession
Dim db As NotesDatabase
Dim QuellDB As NotesDatabase
Dim Verz As NotesDbDirectory
Dim Acl As NotesACL
Dim Entry As NotesACLEntry
Dim Datenbanken() As Variant
Dim Auswahl As Variant
Set db = s.CurrentDatabase
Set Verz = s.GetDbDirectory("Baghira")
Set QuellDb = Verz.GetFirstDatabase(DATABASE)
i = 0
While Not (QuellDb Is Nothing)
Redim Preserve Datenbanken(i) As Variant
Datenbanken(i) = QuellDb.FilePath
Set QuellDB = Verz.GetNextDatabase
i = i + 1
Wend
Auswahl = work.Prompt(4,"Baghira","Datenbank wählen",,Datenbanken)
Set Quelldb = s.GetDatabase("Baghira",Auswahl,False)
Set Acl = QuellDB.ACL
Set entry = New NotesACLEntry(acl,"LocalDomainAdmins",6)
entry.UserType = 4
Call acl.Save
Msgbox "Die Personengruppe LocalDomainAdmins wurde der Datenbank als Manager hinzugefügt"
End Sub
Den Agenten habe ich mit der Server-ID signieren lassen, da dieser ja überall Managerrechte hat. Wenn man den Agenten jetzt ausführt, kommt trotzdem der Hinweis, dass man keinen Zugriff hat ???
Ich dachte immer die Server dürfen alles ??? Oder dauert es evtl. ne Weile bis der Agent wirklich weiß, dass er ja jetzt mit dem Server signiert ist?
Gruß
Demian
Driri:
a) Ihr solltet euch dringend überlegen, wenigstens mit einer Gruppe zu arbeiten.
b) Ich würde den Agent einfach als "Run on behalf" für den Server einstellen (Eigenschaften Agent, 2. Tab) und an der Konsole per tell amgr run aufrufen (genaue Syntax siehe Adminhilfe).
Edit :
Merde, b) funktioniert natürlich nicht genau so, da Du mit Prompt arbeitest. Run on behalf kannst Du aber trotzdem verwenden.
m3:
Neuen Admin als "Full Access Admin" definieren (entweder direkt im Server-Dok eintragen oder (eleganter) über die entsprechende Gruppe).
Dann kann er im "Full Access Admin" Modus die ACL selber anpassen.
Demian:
Moin ihr Zwo,
erstmal danke für eure Antworten. Inzwischen ist es ja eine Admin-Gruppe (entry.type = 4). Weiß auch nicht, was den vorherigen Admin da geritten hat, nur sich selbst einzutragen.
Kann das aber erst Montag testen, da unser Admin dann erst wieder kommt und ich von der Admin-Seite keinen blassen Schimmer habe :) Melde mich dann Montag wieder.
Verstehe aber trotzdem nicht, warum die Signierung nicht greift...
Gruß
Demian
koehlerbv:
Wie hast Du denn den Agenten gestartet?
Navigation
[0] Themen-Index
[#] Nächste Seite
Zur normalen Ansicht wechseln