Vraag Hoe de gebruikersverhoging van Gnome in RHEL / CentOS te wijzigen


Dus probeer ik de manier te veranderen waarop GNOME een desktopgebruiker authenticeert voor geprivilegieerde applicaties. Out of the box vraagt ​​om de root wachtwoord. Voor mijn inzet is dit ongewenst en ik wil dat de gebruiker hier opnieuw voor wordt gevraagd hun wachtwoord en geef ze alleen toegang als ze zich in een bepaalde groep bevinden (wheel).

Ik heb enige vooruitgang geboekt. Als een bestand bestaat /etc/security/console.apps met de naam van de service die probeert te worden uitgevoerd (bijvoorbeeld pirut de pakketbeheerder), dan zal GNOME om een ​​wachtwoord vragen en het programma verheffen. Hier is de pirut het dossier:

USER=root
PROGRAM=/usr/sbin/pirut
SESSION=true
KEEP_ENV_VARS=http_proxy,ftp_proxy

Als ik commentaar geef / verwijder de USER=root regel dan zal ik gevraagd worden naar de gebruiker waar ik op dit moment in ingelogd ben, en dat is wat ik wil. Het probleem is dat zolang de gebruiker zijn wachtwoord weet, het zal worden gestart, dus zelfs gebruikers die niet in mijn groep zijn kunnen geprivilegieerde applicaties starten.

EEN man console.apps is relevant; hoe dan ook nutteloos:

De /etc/security/console.apps/ -map moet één bestand per toepassing bevatten die toegang tot consolegebruikers mogelijk wil maken. De bestandsnaam moet gelijk zijn aan de servicenaam en de inhoud is niet relevant; het bestand kan een bestand met de lengte nul zijn. De applicatie waar het bestand door wordt gebruikt is vrij om de inhoud op elke manier te specificeren die daarvoor van nut is.

Mijn vraag: hoe zeg ik GNOME / ConsoleHelper dat de gebruiker zich ook in een specifieke moet bevinden om uitvoering toe te staan?


5
2017-11-24 15:37


oorsprong




antwoorden:


Wat je wilt doen voor consolehelper is gezet UGROUPS=wheel in de console.apps-bestanden. (U hoeft niet te veranderen wat er al is, en meestal ook niet.) En voeg vervolgens de corresponderende gebruikers toe aan de wielgroep. Vervolgens zullen leden in die groep worden gevraagd om auth-als-zelf, terwijl andere gebruikers nog steeds auth-as-root zullen zijn. (Een tijdje geleden had ik dezelfde functionaliteit nodig, dus ik schreef het en kreeg de patch upstreamed. Open source is geweldig.)

Dit is gedocumenteerd in man userhelper.

Op nieuwere distributies - huidige Fedora en RHEL6 - wordt consolehelper uitgefaseerd ten gunste van PolicyKit (a.k.a. polkit). Dit heeft een ander configuratieschema, maar kan ook hetzelfde doen. Zien man pklocalauthority voor details hierover, maar de samenvatting is: zet bestanden in /etc/polkit-1/localauthority/50-local.d met inhoud zoals:

[Wheel-Group Permissions]
Identity=unix-group:wheel
Action=org.something.seedocs.*;more.actions.*;whatever.you.want.*
ResultAny=auth_self

En, ten slotte, kunt u het commentaar van de %wheel ALL=(ALL) ALL regel binnen /etc/sudoers. (Dit kan de standaard worden in Fedora 15.)


5
2017-11-24 16:03



Simpel gezegd: JIJ BENT DE MAN !!! Dit is precies het gedrag waar ik naar op zoek was. Als ik +2 zou kunnen krijgen, zou ik dat doen voor het leveren van documentatie locatie. - ErebusBat
@ErubusBat Bedankt! :) - mattdm
Geweldige vraag en een goed antwoord. (+1 elk) - Aaron Copley