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
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
libxslt-1.1.42, Linux-PAM-1.7.0, og
elogind-255.5
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
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
|