このような実行可能ファイルは、「sudo mono test.exe」と「mono test.exe」の 2 つの方法で実行できます。
このアプリケーションがアプリケーション自体の内部でルートとして実行されているかどうかを検出する方法を知りたいです。
以下のようにユーザー名を確認して、「root」に等しいかどうかを確認しようとしましたが、
Thread.CurrentPrincipal.Identity.Name
Process.GetCurrentProcess().StartInfo.UserName
AppDomain.CurrentDomain.ApplicationIdentity.FullName
最初の 2 つは常に空の文字列ですが、3 番目は NullReferenceException をスローします。
これが Mono 2.6 で実行可能かどうかアドバイスしてください。