2017-08-23 1 views
1

バックグラウンドでrootとして実行されるプロセスがあります。特定の偶数が発生すると、NSAlertをNSTextFieldでポップアップして、ユーザーがいくつかの情報を提供できるようにします。ただし、ユーザーはTextFieldをクリックしたり、何かを入力することはできません。私はアラートボックスをドラッグすることができますし、アラートのボタンをクリックしてください。rootとして実行中のプロセスによって生成されたテキスト入力を求めるNSAlert

私のプロセスはrootとして実行されているため、マシンにログインしているエンドユーザアカウントではないと思います。分散オブジェクトなどを介してユーザーと配管情報を別々のプロセスを生成することなく簡単に回避する方法はありますか?

+0

"これは、私のプロセスがマシンにログインしているエンドユーザアカウントではなくrootとして実行されているためです。"ケー!それは私にとって奇妙な声明のように聞こえる。 –

+0

どのように?私のプロセスはrootとして実行されます。マシンの電源が入ったら起動します。誰かがマシンにログインしているかどうかにかかわらず実行されます。 しかし、誰かがマシンにログインしていると、エンドユーザーからの入力を要求する必要があることがあります。だから私はNSAlertをポップアップしようとしています。 – Tagnal

答えて

1

このような問題があるだけでなく、ルートとしてGUIアプリケーションを実行するとセキュリティリスクが大きくなり、実際にはUIアプリケーションを現在のユーザーとして実行することをお勧めします過去にいくつかのAppKit対応プロセスがルートとして実行されていたために発生した、多数のセキュリティ上の脆弱性がありました。

XPCは、分散ツールではなく、ルートツールとGUIアプリケーションの間でやりとりするために使用するメカニズムです。これは非常に古いものであり、独自の問題が多数あります。

関連する問題