Polkit-125

Introduksjon til Polkit

Polkit er et verktøysett for å definere og håndtere autorisasjoner. Den brukes for å tillate uprivilegerte prosesser å kommunisere med privilegerte prosesser.

[Notat]

Notat

Utviklingsversjoner av BLFS kan ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden den siste stabile versjonene av bøkene.

Pakkeinformasjon

Polkit Avhengigheter

Påkrevd

duktape-2.7.0 og GLib-2.82.2 (GObject Introspection anbefalt)

Anbefalt

[Notat]

Notat

Siden elogind bruker PAM til å registrere brukerøkter, er det en god idé å bygge Polkit med PAM støtte så elogind kan spore Polkit økter.

Valgfri

GTK-Doc-1.34.0 og dbusmock-0.32.2 (påkrevd for tester)

Valgfrie Kjøretidsavhengigheter

Én polkit autentiseringsagent for bruk av polkit i et grafiske miljø: polkit-kde-agent i Plasma-6.2.3 for KDE, agenten bygd inn gnome-shell-47.1 for GNOME3, polkit-gnome-0.105 for XFCE, og lxqt-policykit-2.1.0 for LXQt

[Notat]

Notat

Hvis libxslt-1.1.42 er installert, da er docbook-xml-4.5 og docbook-xsl-nons-1.79.2 nødvendig. Hvis du har installert libxslt-1.1.42, men du ikke ønsker å installere noen av DocBook pakkene som er nevnt, vil du trenge å bruke -D man=false i instruksjonene under.

Kjernekonfigurasjon

Noen tester trenger namespace. Hvis du skal kjøre testpakken, aktiver støtten og kompiler kjernen på nytt om nødvendig:

General setup --->
  -*- Namespaces support --->                                       [NAMESPACES]
    [*] User namespace                                                 [USER_NS]

Installasjon av Polkit

Det bør være en dedikert bruker og gruppe til å ta kontroll på polkitd nissen etter at det er startet. Utfør følgende kommandoer som root bruker:

groupadd -fg 27 polkitd &&
useradd -c "PolicyKit Daemon Owner" -d /etc/polkit-1 -u 27 \
        -g polkitd -s /bin/false polkitd

Installer Polkit ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup ..                     \
      --prefix=/usr                \
      --buildtype=release          \
      -D man=true                  \
      -D session_tracking=elogind  \
      -D systemdsystemunitdir=/tmp \
      -D tests=true

Bygg pakken:

ninja

For å teste resultatene, sørg først for at systemets D-Bus nisse kjører, og både D-Bus Python-1.3.2 og dbusmock-0.32.2 er installert. Kjør så ninja test.

Nå, som root bruker:

ninja install

Fjern noen filer som ikke er nyttige på et SysV system som root bruker:

rm -v /tmp/*.service                 &&
rm -rf /usr/lib/{sysusers,tmpfiles}.d 

Parameterforklaringer

--buildtype=release: Spesifiser en byggetype egnet for stabile utgivelser av pakken, som standard kan produsere uoptimaliserte binærfiler.

-D tests=true: Denne bryteren lar deg kjøre testpakken av denne pakken. Siden Polkit er brukt for autorisasjoner, kan integriteten påvirke systemsikkerheten. Så det anbefales å kjøre testpakken som bygger denne pakken.

-D os_type=lfs: Bruk denne bryteren hvis du ikke opprettet /etc/lfs-release filen ellers vil distribusjons automatiske deteksjon mislykkes, og du vil ikke kunne bruke Polkit.

-D authfw=shadow: Denne bryteren aktiverer pakken til å bruke Shadow i stedet for Linux PAM Autentiseringsrammeverk. Bruk det hvis du ikke har installert Linux PAM.

-D introspection=false: Bruk dette alternativet hvis du er sikker på at du ikke trenger gobject-introspection filer for polkit, eller ikke har installert GLib-2.82.2 med GObject Introspection.

-D man=false: Bruk dette alternativet til å deaktivere generering og installasjon av manualsider. Dette er nyttig hvis libxslt ikke er installert.

-D examples=true: Bruk dette alternativet til å bygge eksempel programmer.

-D gtk_doc=true: Bruk dette alternativet for å aktivere bygging og installering av API dokumentasjonen.

Innhold

Installerte Programmer: pkaction, pkcheck, pkexec, pkttyagent, og polkitd
Installerte Biblioteker: libpolkit-agent-1.so og libpolkit-gobject-1.so
Installerte Mapper: /etc/polkit-1, /usr/include/polkit-1, /usr/lib/polkit-1, /usr/share/gtk-doc/html/polkit-1, og /usr/share/polkit-1

Korte Beskrivelser

pkaction

brukes til å innhente informasjon om registrerte PolicyKit handlinger

pkcheck

brukes til å sjekke om en prosess er autorisert for handling

pkexec

lar en autorisert bruker utføre en kommando som en annen bruker

pkttyagent

brukes til å starte en tekstlig autentiseringsagent for emnet

polkitd

gir org.freedesktop.PolicyKit1 D-Bus tjeneste på systemmeldingsbussen

libpolkit-agent-1.so

inneholder Polkit autentiseringagent API funksjoner

libpolkit-gobject-1.so

inneholder Polkit autentiserings API funksjoner