Ubuntu Software Centerにアプリを送信しようとしましたが、使用するには管理者パスワードを入力する必要があるため拒否されました。アプリを機能させるにはルート権限をアプリに付与する必要があるため、Sudoを使用しました。しかし、彼らは私のアプリでSudoを使用できないと言った。ルート権限を付与するにはどうすればよいですか?
PolicyKit
APIを使用して、特権のエスカレーションを要求する必要があります。一般的に、絶対に必要な場合にのみ行うようにし、エスカレーションされた特権でアプリケーションを常に実行することは避けてください。
起動時にroot権限のみが必要な場合は、rootとして起動できますが、非特権ユーザーにドロップすることに注意してください。ユーザー向けのプログラムとして動作している場合、これはおそらくプログラムを実行したユーザーを意味します。これがhttpd
やsshd
などのデーモンを意味する場合、おそらく、プログラムを実行するために特別に作成された信じられないほどロックダウンされたユーザーを意味します。
また、Sudo
へのグラフィカルなフロントエンドがあり、それぞれGNOMEとKDEに対してgksudo
とkdsudo
と呼ばれます。これらを使用することを誰かが推奨する場合、do n't。これらのプログラムはPolicyKit
の代わりに廃止され、デフォルトではインストールされず、おそらくアプリが拒否されることに注意してください。
アプリがまったく許可されていない可能性があります。 buntu wikiによると 、App Review Boardはシステムファイルに触れるアプリケーションを拒否します。
アプリケーションは操作の一部としてシステムファイルに触れるように見えますが、extras.ubuntu.comのセキュリティポリシーの一部としてアプリがこれを行うことは許可されていません。これらのアプリケーションについては、パッケージをDebianまたはUbuntuに送信するために https://wiki.ubuntu.com/UbuntuDevelopment/NewPackages の手順に従うことをお勧めします。
クリーンアップアプリは、システムファイルに触れることになります。
このガイドラインはオープンソースアプリにのみ適用されますが( プロプライエタリアプリのポリシーは公開されていません )、プロプライエタリアプリにも同様のルールが適用されると思います。
アプリがオープンソースの場合でも、 パッケージ化してメインのUbuntuまたはDebianリポジトリに送信 を実行すると、ソフトウェアセンターにアクセスできます。
PolicyKitまたはそのいずれも必要ありません。アプリの所有者と許可レベルを変更するだけです:
Sudo chown root:root /path/to/app
Sudo chmod 4755 /path/to/app
もちろん、これらのコマンドを実行するにはルート権限が必要です。