i.c ha scritto:nessun suggerimento?
Sulla base dei log che hai inviato e di alcuni test che ho eseguito, risulta quanto segue.
Installando postgresql, è stata creata l'utenza
postgres. Come ha giustamente osservato l'utente s3v nel precedente messaggio, si tratta di una utenza con limitati privilegi: potrebbe aprire una shell (come risulta dal file /etc/passwd presa da una mia installazione di prova), ma non ha di default una password configurata e, quindi, non può di default eseguire la login (è sicuramente una impostazione di sicurezza):
- Codice: Seleziona tutto
# grep postgres /etc/passwd
postgres:x:113:118:PostgreSQL administrator,,,:/var/lib/postgresql:/bin/bash
# grep postgres /etc/shadow
postgres:*:15827:0:99999:7:::
Pertanto, la login per l'utente
postgres è possibile solo per il tramite di un'altra utenza con privilegi amministrativi.
Nel caso della tua installazione, hai aperto una sessione (devo presumere sulla base degli indizi) con l'utente chiamato
iolando da cui hai avviato, tramite il comando sudo, una shell per l'utente
postgres. L'utente
iolando, infatti, può avviare il programma sudo perché appartiene al gruppo "sudo" (sulla base del file /etc/group che hai inviato):
- Codice: Seleziona tutto
/etc/group :
[..]
sudo:x:27:iolando
[..]
Una volta che hai avviato una shell per l'utente
postgres, dalla stessa avviando il programma synaptic-pkexec, ti viene richiesta la password dell'utente
iolando (e non quella dell'utente
postgres) perché il programma synaptic-pkexec all'avvio effettua l'autenticazione tramite il sistema di autenticazione di gnome (polkit-1) ed, in particolare, il sistema di autenticazione risponde alla seguente azione:
- Codice: Seleziona tutto
# pkaction --verbose --action-id com.ubuntu.pkexec.synaptic
com.ubuntu.pkexec.synaptic:
description:
message: Authentication is required to run the Synaptic Package Manager
vendor:
vendor_url:
icon: synaptic
implicit any: auth_admin
implicit inactive: auth_admin
implicit active: auth_admin
annotation: org.freedesktop.policykit.exec.path -> /usr/sbin/synaptic
annotation: org.freedesktop.policykit.exec.allow_gui -> true
Da tale evento, risulta che per avviare synaptic è richiesto che l'utente che si è collegato alla sessione utente abbia i privilegi di un gruppo amministrativo (implicit any: auth_admin), privilegi che in Debian, se non erro, sono attribuiti nella configurazione base all'utente root oppure agli utenti del gruppo sudo, come indicato nelle seguenti policy di polkit-1:
- Codice: Seleziona tutto
$ cat /etc/polkit-1/localauthority.conf.d/50-localauthority.conf
# Configuration file for the PolicyKit Local Authority.
#
# DO NOT EDIT THIS FILE, it will be overwritten on update.
#
# See the pklocalauthority(8) man page for more information
# about configuring the Local Authority.
#
[Configuration]
AdminIdentities=unix-user:0
$ cat /etc/polkit-1/localauthority.conf.d/51-debian-sudo.conf
[Configuration]
AdminIdentities=unix-group:sudo
Poiché l'utente proprietario della sessione da cui hai avviato sudo è l'utente
iolando, il sistema di autenticazione richiamato dal synaptic ti chiede la password dell'utente
iolando. Per verificare l'utente titolare della sessione, dalla shell avviata tramite sudo per l'utente postgres, puoi utilizzare il seguente comando:
- Codice: Seleziona tutto
aki@debian:/etc/polkit-1$ sudo -i -u postgres
[sudo] password di aki:
postgres@debian:~$ loginctl
SESSION UID USER SEAT TTY
5 1000 aki seat0
1 sessions listed.
Pertanto, il comportamento del programma synaptic che hai descritto dipende dall'utilizzo di sudo.