Frage

Ich baue eine Cocoa-Anwendung, dass ändert eine Datei auf dem Betriebssystem des Benutzers, die Admin-Berechtigung erfordert. Ich habe ein Proof of Concept Arbeits die authopen verwendet, aber es liefert nicht die UX Erfahrung, die ich hoffe, mich zu erreichen. Jedes Mal, wenn die Datei geändert wird es fordert den Benutzer auf, ihr Kennwort einzugeben. Gibt es eine Möglichkeit, Berechtigungen für die Anwendung für die Dauer seines Lebens gewährt hat?

Ziel: Anwendung fragt Benutzer Passwort einmal immer , Anwendung geht weiter nicht Aufforderung für Ihr Passwort ein.

Next Best: Anwendung fragt Benutzer Passwort einmal beim Start der Anwendung , geht hervor Anwendung nicht Aufforderung für Kennwort bis zum Neustart der Anwendung.

Ich bin mir dessen bewusst Autorisierungsdienste und die Möglichkeit, einen Daemon zu schaffen, der sich speziell mit privilegierten Dateien ändern, was ich neugierig bin, ist, wenn eine meiner aufgeführten Ziele sind noch möglich vor dem Tauchen zu tief in ein anderes System.

schätzen Anregungen, Kritik oder hilfreiche Links.

Cheers, Dustin

War es hilfreich?

Lösung

Ja, Autorisierungsdienste verwenden, ist der richtige Weg. Sie erhalten eine AuthorizationRef in Ihrer Anwendung über AuthorizationCopyRights () (zeigt die UI falls erforderlich), und übergeben diese an Ihre Helfer (durch die Verpackung in eine externe Form nach oben), der überprüft, dass es tatsächlich bekam die notwendige Recht vor die privilegierte Aufgabe ausführt . Authorization Service ist in der Lage Rechte in der /etc/authorization Datenbank zu registrieren, so dass, wenn Sie eine benutzerdefinierte wählen rechts können Sie die Standardeinstellungen wählen, für die erlaubt ist, sie zu erwerben, was Timeout oder andere Bedingungen erfüllt sind und so weiter.

Ihr privilegiertes Helfer-Tool zu implementieren, sollten Sie das Service Management Framework verwenden, insbesondere SMJobBless(), der überprüft, dass die Code-Signing-Identitäten auf Ihrem Client und Helfern Spiel vor dem Helfer als launchd Job bereitstellen. Dann können Sie Ihre Helfer auf Anfrage von der Hauptanwendung gestartet werden.

Fühlen Sie sich frei zu fragen, ob Sie Klärung wollen auf jeden Schritt in der Antwort, aber ich schon über diese beiden Aspekte des Privilegs Trennung in meinem Buch geschrieben: Professional Cocoa Application Security so fühlen sich frei, um eine Kopie oder zwei zu kaufen; -).

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top