Come impedire a PolicyKit di chiedere una password?

22

Per anni, ho avuto il seguente nel mio file sudoers :

scott   ALL=NOPASSWD: ALL

Per coloro che non lo sanno, questo impedisce a sudo e amici ( gksudo , ecc.) di chiedere una password. Tuttavia, nel corso degli anni, un numero sempre maggiore di roba che una volta ha utilizzato sudo è stato convertito in PolicyKit.

Sto cercando una configurazione equivalente per PolicyKit, tale che non mi chiederà mai la mia password.

Per coloro a cui non piace la mia richiesta, lasciami dire questo: capisco i motivi della configurazione predefinita e sono validi. Capisco anche i rischi inerenti alla configurazione che voglio fare. Tuttavia, è il modo in cui voglio impostare il mio sistema. Coloro che non comprendono completamente quanto sopra non dovrebbero tentare ciò che sto tentando.

    
posta Scott Severance 24.01.2012 - 07:02

3 risposte

14

Questo in realtà non è del tutto vero. Puoi ingannare PolicyKit e sopprimere TUTTE le richieste di password sostituendo l'azione con un carattere jolly.

DISCLAIMER: Quanto segue sopprimerà TUTTI i prompt delle password a livello globale per tutti gli appartenenti al gruppo admin, ad eccezione della schermata di accesso. È ESTREMAMENTE pericoloso e NON DEVE MAI essere implementato perché è probabile che TERMINERÀ MENTRE IL SISTEMA !!

Non dire che non eri avvisato!

NOTA: se stai utilizzando la versione 12.04 o successiva, sostituisci "admin" con "sudo"!

Sostituisci "nome utente" con il tuo vero nome utente:

usermod -aG admin username

Passa a root:

sudo -i

Crea una nuova politica:

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

Aggiungi quanto segue:

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

Salva, esci e riavvia. Quindi vai a provare qualcosa che di solito richiede una password. :)

NOTA: non importa quello che usi come nome del tuo file .pkla. Puoi chiamarlo come vuoi. MA, È importante che tu usi una politica legittima. Ecco perché sono andato con "Installa pacchetto file". Non devi necessariamente andare con quello che ho fatto, purché sia ​​nella lista delle policy riconosciute da Ubuntu.

E per ultimo, questa è l'UNICA politica di cui avrai bisogno quando si tratta di sopprimere i prompt delle password perché di nuovo, lo fa globalmente.

    
risposta data user55572 19.04.2012 - 00:09
7

Puoi creare un .pkla, un all in one o un paio basato su gruppi di azioni, non ha molta importanza.

Per look di riferimento in / usr / share / polkit-1 / actions, apri quelli interessati in un editor di testo per ottenere gli ID azione.

Per quanto riguarda un .pkla o 2 trovo il posto migliore per metterli qui, sarà protetto da eventuali aggiornamenti

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

Quindi, ad esempio, ecco il mio principale, denominato package-manager.pkla, sebbene si estenda un po 'oltre il semplice criterio di gestione dei pacchetti

[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

Tieni presente che a partire da 12.04 il gruppo utilizzato per l'utente "admin" deve essere modificato in sudo, ad es.

Identity=unix-group:sudo

Si noti inoltre che le azioni possono essere messe insieme per sezione, senza spazi, usare a; tra id di

    
risposta data doug 24.01.2012 - 09:08
1

Un'opzione, se sai cosa stai facendo, è di disabilitare completamente il kit dei criteri.

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

    
risposta data viksit 08.06.2017 - 11:04

Leggi altre domande sui tag