質問

管理者の許可を必要とするユーザーのオペレーティングシステム上のファイルを変更するココアアプリケーションを構築しています。使用する概念実証があります authopen しかし、それは私が達成したいと思っているUXエクスペリエンスを提供しません。ファイルが変更されるたびに、ユーザーにパスワードを入力するように求められます。その寿命の期間中、申請に許可を付与する方法はありますか?

ゴール:アプリケーションはユーザーにパスワードを一度求めます これまで, 、アプリケーションを開始しても、パスワードが求められません。

次に最高:アプリケーションはユーザーにパスワードを一度求めます アプリケーションの起動時, 、アプリケーションを開始すると、アプリケーションが再起動するまでパスワードが求められません。

私は承認サービスと、特権ファイルの変更を特に扱うデーモンを作成する可能性を知っています。 別のシステムに深く潜り込む前に可能です。

提案、批評、または役立つリンクに本当に感謝しています。

乾杯、ダスティン

役に立ちましたか?

解決

はい、承認サービスを使用することが今後の道です。 authorizationcopyrights()(必要に応じてUIを表示する)を介してアプリケーションで承認refを取得し、特権タスクを実行する前に実際に必要になったことを確認するヘルパーにこれを(外部形式にパッケージ化することで)渡します。承認サービスは、に権利を登録できます /etc/authorization データベースなので、カスタム権利を選択した場合、誰がそれを取得することを許可されているか、タイムアウトやその他の条件などのデフォルト設定を選択できます。

特に特権ヘルパーツールを展開するには、特にサービス管理フレームワークを使用する必要があります SMJobBless() これは、ヘルパーを展開する前に、クライアントとヘルパーが一致するコード署名のアイデンティティを確認することを確認します。 launchd 仕事。その後、メインアプリケーションによってヘルパーをオンデマンドで開始できます。

答えのステップについて明確にしたいかどうかをお気軽に尋ねてくださいが、私は私の本の特権分離のこれらの側面の両方についてすでに書きました プロのココアアプリケーションセキュリティ だから、コピーを1つか2つ購入してください;-)。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top