home link download back number special issue

HMDT - Special Issue / Authentication API 完全理解 / What you can do


2. What you can do

◆ Authorization API でできること

Authorization API でできることは、結論からいうと、ある実行ファイルを実行することだ。実行後はパイプを使って、やりとりできる。つまり、この API は、UNIX ライクな(つーか、UNIX そのもの)コマンドを実行することを念頭に置いたものなんだ。

まず Authorization API は、きみが、いま、どれぐらいの権限を持ってるか調べるんだ。そして、それはあるコマンドを実行するのに十分な権限なのか?ってことも調査できる。もし足りなかったら、それを拡大することもできる。おっと、もちろん適切なパスワードが必要だぜ。そのパスワードの入力をうながすためのダイアログも Authorization API が提供するんだ。

処理の流れを簡単に見てみよう。まず認証オブジェクト AuthorizationRef を作ってやんないといけない。これは AuthorizationCreate() で作れるぜ。

認証オブジェクトができたら、きみがどのくらいの権限を持っているかどうか調べることができる。たとえば /sbin/shutdown を実行できるか?とか。<いきなり shutdown かい。それには AuthorizationCopyRights() を使う。これで、実行できるかどうかが調べられる。

もし、十分な権限がなかったらどうするんだ?その場合は、権限を広げることができるんだ。もちろんパスワードが要求されるぜ。これも AuthorizationCopyRights() を使うんだ。

これで十分な権限を確保していることを確認したら、実行だ!AuthorizationExecuteWithPrivileges() で実行できる。

使い終わった後は、認証オブジェクトを削除するのを忘れずに。AuthorizationFree() だ。


Home | Link | Download | Back Number | Speciall Issue

mailto: mkino@xd5.so-net.ne.jp

HMDT