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

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

何年もの間、私のsudoersファイルには次のような内容が保存されていました。

scott   ALL=NOPASSWD: ALL

知らない人のために説明すると、これによりsudo、 や友人 (gksudoなど) がパスワードを尋ねられるのを防ぐことができます。ただし、長年にわたり、かつて使用されていたものがsudoPolicyKit を使用するように切り替えられるようになりました。

パスワードを尋ねられないような、PolicyKit の同等の設定を探しています。

私の要求が気に入らない人のために言っておきます。デフォルト設定の理由は理解していますし、それは妥当なものです。また、私が行いたい設定に内在するリスクも理解しています。それでも、それが私がシステムをセットアップしたい方法です。上記を完全に理解していない人は、私が試みていることを試みるべきではありません。

答え1

あなたはできるUbuntuのLive CDと同じ技術を使用するPolicyKit を騙し、アクションをワイルドカードに置き換えることですべてのパスワードプロンプトを抑制します。

免責事項: 以下は、ログイン画面を除き、管理者グループに属するすべてのユーザーに対して、すべてのパスワード プロンプトをグローバルに抑制します。 これは非常に危険なので、絶対に実装しないでください。システムを壊してしまう可能性があります。

警告されなかったなんて言わないでください!

注意: 12.04 以降を実行している場合は、「admin」を「sudo」に置き換えてください。

「username」を実際のユーザー名に置き換えます。

usermod -aG admin username

ルートに切り替えます:

sudo -i

新しいポリシーを作成します。

gedit /var/lib/polkit-1/localauthority/50-local.d/disable-passwords.pkla

以下を追加します。

[Do anything you want]
Identity=unix-group:admin
Action=*
ResultActive=yes

保存して終了します。次に、通常はパスワードが必要な操作を試してください。 :)

注意: .pkla ファイル名として何を使用するかは重要ではありません。任意の名前を付けることができます。

最後に、これはパスワードプロンプトを抑制する場合に必要となる唯一のポリシーです。これはグローバルに実行されるためです。

答え2

.pkla は、オールインワンでも、アクション グループに基づいたカップルでも作成できます。どちらでも構いません。

参照するには、/usr/share/polkit-1/actions を参照し、興味のあるものをテキスト エディターで開いてアクション ID を取得します。

.pkla 1つまたは2つについては、ここに置くのが最適だと思います。更新から保護されます。

/var/lib/polkit-1/localauthority/50-local.d

例えば、これが私のメインのpackage-manager.pklaです。これはパッケージ管理ポリシーのさらに先を行くものです。

[Install package file]
Identity=unix-group:admin
Action=org.debian.apt.install-file;org.debian.apt.update-cache;org.debian.apt.install-or-remove-packages;org.debian.apt.upgrade-packages
ResultActive=yes

[Install package synaptic]
Identity=unix-group:admin
Action=com.ubuntu.pkexec.synaptic
ResultActive=yes

[Change add repo]
Identity=unix-group:admin
Action=com.ubuntu.softwareproperties.applychanges;org.debian.apt.change-repository
ResultActive=yes

[usbcreator format]
Identity=unix-group:admin
Action=com.ubuntu.usbcreator.format
ResultActive=yes

[Install bootloader]
Identity=unix-group:admin
Action=com.ubuntu.usbcreator.bootloader
ResultActive=yes

[Add users]
Identity=unix-group:admin
Action=org.freedesktop.accounts.user-administration
ResultActive=yes

注意してください12.04「admin」ユーザーに使用されるグループは sudo に変更する必要があります。

Identity=unix-group:sudo

また、アクションはセクションごとに連結でき、スペースは使用せず、IDの間に;を使用します。

関連情報