¿Cómo evito que PolicyKit pida una contraseña?

22

Durante años, he tenido lo siguiente en mi archivo sudoers :

scott   ALL=NOPASSWD: ALL

Para aquellos que no lo saben, esto impide que sudo y amigos ( gksudo , etc.) soliciten una contraseña. Sin embargo, a lo largo de los años, más y más cosas que alguna vez usaron sudo se han cambiado a usar PolicyKit.

Estoy buscando una configuración equivalente para PolicyKit, de modo que nunca me pida mi contraseña.

Para aquellos a los que no les gusta mi solicitud, permítanme decir esto: entiendo los motivos de la configuración predeterminada y son correctos. También entiendo los riesgos inherentes a la configuración que quiero hacer. Sin embargo, es la forma en que quiero configurar mi sistema. Aquellos que no entienden completamente lo anterior no deberían intentar lo que estoy intentando.

    
pregunta Scott Severance 24.01.2012 - 06:02

3 respuestas

14

Eso no es del todo cierto. Puede engañar a PolicyKit y suprimir TODAS las solicitudes de contraseña sustituyendo la acción con un comodín.

DESCARGO DE RESPONSABILIDAD: Lo siguiente suprimirá TODAS las solicitudes de contraseña globalmente para todos los miembros del grupo de administración, con la excepción de la pantalla de inicio de sesión. ¡Es EXTREMADAMENTE peligroso y NUNCA debe implementarse porque es probable que USTED termine rompiendo su sistema!

¡No digas que no fuiste advertido!

NOTA: ¡Si está ejecutando 12.04 o posterior, sustituya "admin" por "sudo"!

Reemplaza "nombre de usuario" con tu nombre de usuario real:

usermod -aG admin username

Cambiar a la raíz:

sudo -i

Crear una nueva política:

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

Agregue lo siguiente:

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

Guardar, salir y reiniciar. Luego ve a probar algo que generalmente requiere una contraseña. :)

NOTA: No importa lo que use como su nombre de archivo .pkla. Puedes ponerle el nombre que quieras. PERO, ES IMPORTANTE que use una política legítima. Es por eso que fui con "Instalar archivo de paquete". No necesariamente tienes que seguir lo que hice, siempre y cuando esté en la lista de políticas que reconoce Ubuntu.

Y, por último, esta es la ÚNICA política que necesitará a la hora de suprimir las solicitudes de contraseña porque, de nuevo, lo hace globalmente.

    
respondido por el user55572 18.04.2012 - 22:09
7

Puedes crear un .pkla, ya sea un todo en uno o un par basado en grupos de acción, realmente no importa.

Para ver la referencia en / usr / share / polkit-1 / actions, abra los interesados ​​en un editor de texto para obtener los ID de acción.

En cuanto a .pkla o 2 encuentro que el mejor lugar para ponerlos aquí, estará protegido contra cualquier actualización

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

Así que, por ejemplo, aquí está mi principal, llamado package-manager.pkla, aunque se extiende un poco más allá de la política de gestión de paquetes

[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

Tenga en cuenta que a partir de 12.04 el grupo utilizado para el usuario "admin" debe cambiarse a sudo, es decir.

Identity=unix-group:sudo

También tenga en cuenta que las acciones pueden encadenarse juntas por sección, sin espacios, use a; entre id's

    
respondido por el doug 24.01.2012 - 08:08
1

Una opción, si sabes lo que estás haciendo, es deshabilitar completamente el kit de políticas.

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

    
respondido por el viksit 08.06.2017 - 09:04

Lea otras preguntas en las etiquetas