GNU/Linux >> Linux の 問題 >  >> Ubuntu

パスワードを要求しないようにPkexecを構成するにはどうすればよいですか?

スーパーユーザー権限でデーモン(Pythonで記述)を呼び出す必要があるGUIアプリケーションがあります。ユーザーにパスワードの入力を求めずにこれを実行したい。

デーモンはスクリプトであるため、SUIDビットを直接設定することはできません。このためのCラッパーを作成することはできますが、特に私の側のミスがシステムのセキュリティを著しく損なう可能性がある場合は、車輪の再発明をしたくありません。

この状況で私が通常行うことは、/etc/sudoersに行を追加することです。 これにより、ユーザーはNOPASSWDディレクティブを使用して、パスワードなしでrootとしてデーモンを実行できます。これはコマンドラインから正常に機能します。ただし、GUIからこれを行うと、pkexec ユーザーのパスワードを尋ねるダイアログがポップアップ表示されます。 Ubuntuでは、sudoを呼び出すようです GUIからの情報がpkexecによって何らかの形で傍受されています 。

これを回避するためのクリーンな方法はありますか? setuidスクリプトの煩わしさに対処する必要はありません。

ベストアンサー

次のように言うのは不適切です。「Ubuntuでは、sudoを呼び出すようです。 GUIからの情報がpkexecによって何らかの形で傍受されています 「pkexec sudoとの共通点はあまりありません 。 sudoとは対照的 、pkexec プロセス全体にroot権限を付与するのではなく、一元化されたシステムポリシーをより細かく制御できるようにします。

ここで、pkexecからパスワードを要求されることなく、GUIアプリケーションを実行したい場合 、これを行うのは難しくありません。たとえば、 GPartedを見てみましょう。 。それを開くと、パスワードの入力を求める次のダイアログウィンドウが表示されます。

詳細をクリックします ダイアログウィンドウは次のようになります:

ここから、/usr/share/polkit-1/actions/com.ubuntu.pkexec.gparted.policy たとえば、次のコマンドを使用してファイルを作成します。

gksu gedit /usr/share/polkit-1/actions/com.ubuntu.pkexec.gparted.policy

次の行を変更します:

      <allow_any>auth_admin</allow_any>
      <allow_inactive>auth_admin</allow_inactive>
      <allow_active>auth_admin</allow_active>

次のように:

      <allow_any>yes</allow_any>
      <allow_inactive>yes</allow_inactive>
      <allow_active>yes</allow_active>

ファイルを保存して閉じます。次に、 GPartedを開くと パスワードの入力を求められることはもうありません。

関連:Geditまたはコマンドラインを使用して、テキストファイルの4行ごとに変更することはできますか?
Ubuntu
  1. cPanelでディレクトリプライバシーを設定する方法

  2. 複数のウィンドウのパスワードを入力する方法は?

  3. 静的IPアドレス用にデスクトップを構成する方法は?

  1. コンソールを一時停止して、ウェイクアップ時にパスワードを要求することはできますか?

  2. Apache 2がSSL証明書のパスワードを要求するのをやめるにはどうすればよいですか?

  3. CrontabスクリプトのSudoのパスワード要求を回避する方法は?

  1. Ubuntu – Lxcゲストの外部IPアドレスを設定する方法は?

  2. Jujuの複数のデプロイメント環境を構成する方法は??

  3. ターミナルで su の root パスワードが機能しない