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


24

何年もの間、私のsudoersファイルには次のものがありました。

scott   ALL=NOPASSWD: ALL

知らない人のために、これはsudo友人(gksudoなど)がパスワードを要求するのを防ぎます。ただし、長年にわたって、かつて使用されsudoていたものが、PolicyKitの使用に切り替えられています。

PolicyKitの同等の構成を探しています。パスワードを聞かれることはありません。

私のリクエストが気に入らない人のために、これを言ってみましょう。デフォルト設定の理由を理解し、それらは健全です。また、作成したい構成に固有のリスクも理解しています。それにもかかわらず、それは私のシステムをセットアップしたい方法です。上記を完全に理解していない人は、私がやろうとしていることを試みるべきではありません。

回答:


15

アクションをワイルドカードに置き換えることにより、PolicyKitをだましてすべてのパスワードプロンプトを抑制することができます。

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

警告がなかったと言ってはいけません!

注: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ファイル名として何を使用してもかまいません。好きな名前を付けることができます。

そして最後に、これはパスワードプロンプトの抑制に関して必要な唯一のポリシーです。これもグローバルにそうするからです。


これは、adminグループをで置き換えるときにFedoraでも機能しますwheel。ありがとう!
ケニーラッシャールト14年

3
誰かがこれがシステムをどのくらい正確に「破壊」するか説明できますか
Mehrdad

3
はい、お願いします。これはシステムをどのように破壊しますか?これではない!これの後に何かバカなことをするとシステムが壊れますが、これは違います!これにより、パスワードなしでホスト上で何でもできるようになります。バカなことをすると、システムが破壊されます。パスワードを入力する必要があり、バカなことをすると、システムが破壊されます。これは、それ自体、愚かなことを少し簡単にするだけです。
ダンゴ

1
@ jeckyll2hide注を読む-OPが選択した理由を説明しています[Install package file]。これに同意せず、メモに同様の編集が必要であるか、編集が無効であり、ロールバックする必要があります。
bcbc

1
@prusswanを使用Identity=unix-user:scottすると、ユーザー「scott」にのみアクションを許可できます。また、特定のアクションのみを許可する場合は、grep /var/log/auth.logを実行すると、polkitdはパスワードの入力を求められたときに試行していたpolkitのフルネームを出力します。 cat /var/log/auth.log | grep polkitdそれらの非常に簡単なリストが表示されます
Scott

8

.pklaを作成できます。アクショングループに基づいて、すべてが1つまたは2つある場合でも、実際には関係ありません。

/ usr / share / polkit-1 / actionsを参照する場合は、テキストエディターで関心のあるものを開き、アクションIDを取得します。

.pklaまたは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の間に


各プログラムを個別に設定しているようです。特に、後でPolicyKitを使用する他のプログラムをインストールする場合は、かなり面倒です。私はすべてに影響を与えるグローバルな構成変更を行う方法を探しています。
スコットセベランス

1
「グローバル」に影響する方法を見たことがない、それは仕方のにPolicyKitの作品だとは思わない、アクションIDごとのポリシーセットがある
ダグ・

0

1つのオプションは、何をしているのかを知っている場合、ポリシーキットを完全に無効にすることです。

sudo apt-get remove libpolkit-agent-1-0


1
それはあまりにも多くの必須のパッケージ、などの削除network-managergnome-control-centerおよび多くを。もっと細かい方法はありますか?
サンキャッチャー
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.