何年もの間、私のsudoers
ファイルには次のような内容が保存されていました。
scott ALL=NOPASSWD: ALL
知らない人のために説明すると、これによりsudo
、 や友人 (gksudo
など) がパスワードを尋ねられるのを防ぐことができます。ただし、長年にわたり、かつて使用されていたものがsudo
PolicyKit を使用するように切り替えられるようになりました。
パスワードを尋ねられないような、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の間に;を使用します。