• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

Gelöst Debian: pkexec verlangt user-Passwort, sollte root-Passwort sein

Spielwurm

Advanced Hacker
Ich habe Linux-Mint, Debian Edition auf einem Rechner installiert (32-bit) mit XFCE als Gui. Als erstes hab ich root entsperrt durch Vergabe eines Passwortes, danach /etc/sudoers editiert, so dass das root-Passwort verlangt wird. Sudo fragt - wie von mir gewünscht - nach dem root-Passwort.

Jetzt zum Startverhalten von root-Programmen wie Synaptic, Thunar als root und Gparted. Hier kommt pkexec ins Spiel: das verlangt nach wie vor das Benutzer-Passwort. Ich habe jetzt einen Tag im Netz und auf der Maschine gesucht, ich finde nicht, wo pkexec sein Passwort-Verlangen gespeichert hat. In /etc/polkit ist adminuser=linux-user:0 eingetragen, sonst steht in dem Ordner nichts.

Ich habe sogar mit einem anderen Laptop verglichen, auf dem Ubuntu-Mint läuft und auf dem beides funktioniert: pkexec und sudo verlangen nach dem root-Passwort. Ich finde den Unterschied nicht. /etc/polkit-Inhalt und /usr/share/polkit-regeln sind identisch.

Wo sollte ich noch suchen? Oder kennt jemand die Lösung?

Spielwurm
 

susejunky

Moderator
Teammitglied
Hallo @Spielwurm ,

ich kenne weder Linux-Mint Debian noch Ubuntu-Mint aber ich habe Kubuntu 22.10 in einer VM.

In diesem Kubuntu habe ich, ebenso wie Du, ein "root"-Kennwort vergeben (allerdings keine weiteren Änderungen durchgeführt). Trotzdem akzeptierte danach der Synaptic Packet Manager nur das "normale" Benutzerkennwort zur Authorisierung.

Daraufhin habe ich mir

man pklocalauthority schrieb:
...
ADMINISTRATOR AUTHENTICATION
PolicyKit makes a distinction between user authentication (to make the user in front of the system prove he really is the user) and administrator
authentication (to make the user in front of the system prove he really is an administrator). Since various operating systems (or even flavors of the
same operating system) has different ways of defining "administrator", the Local Authority provides a way to specify what "administrator
authentication" means.

By default, "administrator authentication" is defined as asking for the root password. Since some systems, for usability reasons, don't have a root
password and instead rely on a group of users being member of an administrative group that gives them super-user privileges, the Local Authority can be
configured to support this use-case as well.

Configuration for the Local Authority is read from files in the /etc/polkit-1/localauthority.conf.d directory. All files are read in lexigraphical
order (using the C locale) meaning that later files can override earlier ones. The file 50-localauthority.conf contains the settings provided by the OS
vendor. Users and 3rd party packages can drop configuration files with a priority higher than 60 to change the defaults. The configuration file format
is simple. Each configuration file is a key file (also commonly known as a ini file) with a single group called [Configuration]. Only a single key,
AdminIdentities is read. The value of this key is a semi-colon separated list of identities that can be used when administrator authentication is
required. Users are specified by prefixing the user name with unix-user:, groups of users are specified by prefixing with unix-group:, and netgroups of
users are specified with unix-netgroup:. See the section called “EXAMPLES” for an example of a configuration file.

angesehen und dann in der Datei /etc/polkit-1/localauthority.conf.d/51-ubuntu-admin.conf den Eintrag

AdminIdentities=unix-group:sudo;unix-group:admin

auf

AdminIdentities=unix-user:0

geändert. Danach hat der Synaptic Packet Manager das "root"-Kennwort zur Authorisierung akzeptiert.

Alternativ hätte ich wahrscheinlich auch die Datei /etc/polkit-1/localauthority.conf.d/51-ubuntu-admin.conf einfach löschen können, da die Datei /etc/polkit-1/localauthority.conf.d/50-localauthority.conf bereits AdminIdentities=unix-user:0 vorgibt.

Aber wie bereits gesagt, wie das bei Linux-Mint Debian oder Ubuntu-Mint funktioniert, kann ich Dir nicht sagen.

Viele Grüße

susejunky
 

susejunky

Moderator
Teammitglied
Hallo @Spielwurm ,

Genau so hab ich es auch gemacht!
und - hat es funktioniert?

Falls es nicht funktioniert hat, könnte es daran gelegen haben, dass der Verzeichnisname nicht
/etc/polkit-1/localauthority/50-local.d
sondern

/etc/polkit-1/localauthority.conf.d

lauten muss. Zumindest behauptet die Kubuntu-man-page das
man pklocalauthority schrieb:
...
ADMINISTRATOR AUTHENTICATION
...
Configuration for the Local Authority is read from files in the /etc/polkit-1/localauthority.conf.d directory.
...

Viele Grüße

susejunky
 
OP
S

Spielwurm

Advanced Hacker
Und da war noch eine Datei drin 51-debian-sudo.conf mit dem Inhalt
Code:
AdminIdentities=unix-group:sudo
Die habe ich nicht beachtet, weil sie ja offensichtlich für die Abteilung "sudoues" gedacht ist. Ist aber nicht so!

Diese Datei habe ich gelöscht und jetzt wird ausschließlich nach dem root-Passwort gefragt, wenn's ans Eingemachte geht.

Spielwurm

PS: Mir muss bei Gelegenheit mal jemand in Ruhe erklären, warum wir uns bei Linux soweit an Windows angenähert haben:
- Admin-Rechte als normaler User
- Überall ist jetzt Doppelklicken angesagt
- Keine /home-Partition mehr als Standard
...
 

susejunky

Moderator
Teammitglied
Hallo @Spielwurm ,

Und da war noch eine Datei drin
Und jetzt wäre es für Alle, die hier mitlesen weil sie ein ähnliches Problem wie Du haben, hilfreich, wenn Du "da" noch konkretisieren würdest.

Also welche Dateien, in welchem Verzeichnis mussten wie geändert werden, damit sich Linux-Mint Debian wie von Dir gewünscht verhält?

Viele Grüße

susejunky
 
OP
S

Spielwurm

Advanced Hacker
Wenn im Ordner /etc/polkit irgendwo eine Datei mit folgendem Inhalt enthalten ist:
Code:
AdminIdentities=unix-group:sudo
,
dann muss sie gelöscht werden, damit das System bei Aufruf von pkexec nach dem root-Passwort fragt.
 
OP
S

Spielwurm

Advanced Hacker
Admin-Rechte als normaler User ist natürlich von mir so gemeint: als User reicht es, wenn ich mein User-Passwort eingebe und damit das System ändere. Wie bei Windows-Home. Ich habe (siehe oben) Linux-Mint-Debian Edition installiert.
In den grafischen Oberflächen Cinnamon und XFCE muss ich soviel Doppelklicken, wie bei Windows. Wir gehen bei der Software hin zu Webanwendungen und im Netz wird einfach geklickt. Ich empfinde es als total angenehm, überall nur einfach zu klicken.
Keine extra Home-Partition mehr automatisch anzulegen ist ebenfalls Windows-like. Wenn ich eine extra Partition dafür habe, kann ich das System neu installieren oder ein anderes und meine Daten bleiben erhalten.

Warum hatten wir in der Anfangszeit Einfachklick, root / user getrennt und eine separate Home-Partition. Waren die Linux-Entwickler vor 25 Jahren zu dumm? Oder haben wir diese erwähnten Änderungen einfach nur eingeführt, damit die Umsteiger von Windows sich wohlfühlen?

Spielwurm
 

towo

Moderator
Teammitglied
Linux-Mint-Debian Edition ist aber nunmal kein Debian!
In einem normal installierten Debian gibt es einen Root und der User hat keine Rechte, da sudo nicht konfiguriert ist.
 

josef-wien

Ultimate Guru
Das Ding basiert auf Ubuntu, und dort hat man eben sudo so (ver-)konfiguriert. Wem das nicht zusagt, der muß entweder sudo passend konfigurieren oder sich eine andere Distribution wählen.

Das ist eine Sache der grafischen Benutzeroberfläche. Wenn in deren Einstellungen keine andere Möglichkeit gewählt werden kann, mußt Du Dich bei den Entwicklern beschweren.

Wie alles im Leben hat auch jede Linux-Distribution Vorteile und Nachteile.
 
OP
S

Spielwurm

Advanced Hacker
@josel-wien
Du hast völlig recht. Natürlich kann ich die GUI umstellen auf Einfachklick. Ich wundere mich nur, dass das im Laufe der Jahre umgestellt wurde. Und ich stelle root/user wieder "zurück", ich wundere mich nur... Und keine home-Partition automatisch wundert mich auch, die ist doch so praktisch ...

Eine kleine Korrektur: Ich brauche für diesen alten Rechner und auch für meinen Wohnmobilrechner Asus eee 901 ein 32-bit-System. Und das gibt nur noch Debian her. Weswegen die Mint-Gemeinschaft neben der normalen Ubuntu-Version auch eine auf Debian basierende herausgibt.

Spielwurm
 
OP
S

Spielwurm

Advanced Hacker
@towo
Das Debian root und User immernoch strikt trennt, hätte ich eigentlich merken müssen, denn auf meinem Server läuft Debian. Allerdings bediene ich das Ding nur per SSH von der Konsole und da ist das so normal für mich, dass mir das nicht aufgefallen ist. Die Mint-Gemeinde hat Debian also in Richtung Ubuntu umgestrickt?
 
Oben