3

Objective-C/Cocoaのよう$sudo touch folder_nameなものを実行する適切な方法は何ですか? $sudo rmいくつかのファイルを変更および移動しており、昇格された特権が必要です。どんなコードサンプルでも大歓迎です。ありがとう。

4

2 に答える 2

12

それを行う1つの方法はですがAuthorizationExecuteWithPrivileges()、通常の方法ではお勧めできません。主にインストーラー用です、集めます。

何かのようなもの:

AuthorizationRef auth = NULL;
OSStatus err = AuthorizationCreate(NULL, kAuthorizationEmptyEnvironment, kAuthorizationFlagInteractionAllowed, &auth);
err = AuthorizationExecuteWithPrivileges(auth, command, kAuthorizationFlagDefaults, args, NULL);

そして、あなたは適切なチェックを追加しますerr...

承認に関するドキュメントを参照してください。

于 2010-01-23T00:58:50.223 に答える
2

これを行うにはいくつかの方法があります。どちらを選択するかは、何をしたいかによって異なります。最も単純で安全でない方法は、コードから呼び出して管理者権限が必要なことを実行する追加のヘルパー ツールに s-bit を設定することです。特権コードを実行する最も洗練された複雑な方法については、BetterAuthorizationSampleをご覧ください。

Authorization Services Programming Guideには、必要なすべての情報が記載されています。

于 2010-01-23T01:42:37.807 に答える