source: postlfs/security/polkit.xml

trunk
Last change on this file was 6d8eeb9, checked in by Bruce Dubbs <bdubbs@…>, 6 weeks ago

Intermediate commit for kde6.

This is a large, but still intermediate commit for KDE6 (kf6 and plasma6).
These are the key changes:

Update kf6 dependencies.

Remove kuserfeedback (it is now a part of kf6).

Move libdbusmenu-qt to General Libraries. It is still needed for LXQt, but
will be remmoved when LXQt moves to Qt6 and LF6/Plasma6.

Made some changes to bluez to use &root;.

Commented out kmix, libkcddb, and k3b. These are still kf5 apps and would
require adding back most of kf5 to the book. It's easier to just wait for
these to be updated to qt6/kf6.

Removed references to the full qt5 package in LXQt packages. It mkes no sense
now that Qt6 is in the book to also build the full (deprecated) Qt5 package.
It may makes sense to just remove the full Qt5 package from th ebook now.

Renamed an internal referece from plasma5-build to just plasma-build in polkit
and mesa.

  • Property mode set to 100644
File size: 13.7 KB
RevLine 
[ab4fdfc]1<?xml version="1.0" encoding="UTF-8"?>
[9d3d8a8]2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3 "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
4 <!ENTITY % general-entities SYSTEM "../../general.ent">
5 %general-entities;
6
[60caf48]7 <!ENTITY polkit-download-http "https://gitlab.freedesktop.org/polkit/polkit/-/archive/&polkit-version;/polkit-&polkit-version;.tar.gz">
[f47c6a6b]8 <!ENTITY polkit-download-ftp " ">
[730d47f2]9 <!ENTITY polkit-md5sum "97db655618e1483706fbc764787c7d6e">
10 <!ENTITY polkit-size "744 KB">
11 <!ENTITY polkit-buildsize "7.2 MB (with tests)">
12 <!ENTITY polkit-time "0.3 SBU (with tests; using parallelism=4)">
[9d3d8a8]13]>
14
[01996ebb]15<sect1 id="polkit" xreflabel="Polkit-&polkit-version;">
[9d3d8a8]16 <?dbhtml filename="polkit.html"?>
17
18
[01996ebb]19 <title>Polkit-&polkit-version;</title>
[9d3d8a8]20
21 <indexterm zone="polkit">
[01996ebb]22 <primary sortas="a-Polkit">Polkit</primary>
[9d3d8a8]23 </indexterm>
24
25 <sect2 role="package">
[01996ebb]26 <title>Introduction to Polkit</title>
[9d3d8a8]27
[b84342d6]28 <para>
[01996ebb]29 <application>Polkit</application> is a toolkit for defining and handling
[9ca304a]30 authorizations. It is used for allowing unprivileged processes to
[30f82900]31 communicate with privileged processes.
[b84342d6]32 </para>
[9d3d8a8]33
[1241ea19]34 &lfs121_checked;
[27e62762]35
[9d3d8a8]36 <bridgehead renderas="sect3">Package Information</bridgehead>
37 <itemizedlist spacing="compact">
38 <listitem>
[b84342d6]39 <para>
40 Download (HTTP): <ulink url="&polkit-download-http;"/>
41 </para>
[9d3d8a8]42 </listitem>
43 <listitem>
[b84342d6]44 <para>
45 Download (FTP): <ulink url="&polkit-download-ftp;"/>
46 </para>
[9d3d8a8]47 </listitem>
48 <listitem>
[b84342d6]49 <para>
50 Download MD5 sum: &polkit-md5sum;
51 </para>
[9d3d8a8]52 </listitem>
53 <listitem>
[b84342d6]54 <para>
55 Download size: &polkit-size;
56 </para>
[9d3d8a8]57 </listitem>
58 <listitem>
[b84342d6]59 <para>
60 Estimated disk space required: &polkit-buildsize;
61 </para>
[9d3d8a8]62 </listitem>
63 <listitem>
[b84342d6]64 <para>
65 Estimated build time: &polkit-time;
66 </para>
[9d3d8a8]67 </listitem>
68 </itemizedlist>
[ad539dbe]69
[7d5d3d4]70<!--
[7e280b45]71 <bridgehead renderas="sect3">Additional Downloads</bridgehead>
72 <itemizedlist spacing="compact">
[ad539dbe]73 <listitem>
[4a0b346]74 <para>
[7e280b45]75 Required patch:
[4483a9a]76 <ulink url="&patch-root;/polkit-&polkit-version;-security_fixes-1.patch"/>
[4a0b346]77 </para>
78 </listitem>
[b5b1af68]79 <listitem>
80 <para>
81 Required patch:
82 <ulink url="&patch-root;/polkit-&polkit-version;-js91-1.patch"/>
83 </para>
84 </listitem>
[3b40dbb3]85 </itemizedlist>
[7d5d3d4]86-->
[ad539dbe]87
[01996ebb]88 <bridgehead renderas="sect3">Polkit Dependencies</bridgehead>
[9d3d8a8]89
90 <bridgehead renderas="sect4">Required</bridgehead>
[bb947c32]91 <para role="required">
[c0bc0a9]92 <xref linkend="glib2"/> (GObject Introspection recommended)
[4c2be438]93 </para>
94
[51dfb3e]95 <bridgehead renderas="sect4">Recommended</bridgehead>
96 <para role="recommended">
[b317cda]97 <!-- For jhalfs just make it required to avoid over-complexity. -->
98 <xref role="required" linkend="duktape"/>,
[3345cfea]99 <xref linkend="libxslt"/>,<phrase revision="systemd"> and</phrase>
100 <xref linkend="linux-pam"/><phrase revision="sysv">, and
101 <xref linkend="elogind"/>
[7cb4635]102 </phrase>
[f586237]103 </para>
104
[51dfb3e]105 <note>
[f586237]106 <para>
[51dfb3e]107 Since <phrase revision="sysv"><command>elogind</command></phrase>
108 <phrase revision="systemd"><command>systemd-logind</command></phrase>
109 uses PAM to register user sessions, it is a good idea to build
110 <application>Polkit</application> with PAM support so
111 <phrase revision="sysv"><command>elogind</command></phrase>
112 <phrase revision="systemd"><command>systemd-logind</command></phrase>
113 can track <application>Polkit</application> sessions.
[f586237]114 </para>
115 </note>
116
[9d3d8a8]117 <bridgehead renderas="sect4">Optional</bridgehead>
[bb947c32]118 <para role="optional">
[a428935]119 <xref linkend="gtk-doc"/>,
[5028839f]120 <xref linkend="python-dbusmock"/>, and
121 <xref linkend="spidermonkey"/> (can be used in place of duktape)
[f586237]122 </para>
123
124 <bridgehead renderas="sect4" revision="systemd">Required Runtime Dependencies</bridgehead>
125 <para role="required" revision="systemd">
[96e9478]126 <xref role="runtime" linkend="systemd"/>
[4c2be438]127 </para>
[875b4070]128
[f13e9026]129 <bridgehead renderas="sect4" id="polkit-agent" xreflabel="Polkit Authentication Agent">
130 Optional Runtime Dependencies
131 </bridgehead>
[fee64868]132 <para role="optional">
133 One polkit authentication agent for using polkit in the graphical
134 environment:
135 <application>polkit-kde-agent</application> in
[6d8eeb9]136 <xref role="runtime" linkend="plasma-build"/> for KDE,
[fee64868]137 the agent built in
[bdc255c]138 <xref role="runtime" linkend="gnome-shell"/> for GNOME3,
139 <xref role="runtime" linkend="polkit-gnome"/> for XFCE, and
140 <xref role="runtime" linkend="lxqt-policykit"/> for LXQt
[fee64868]141 </para>
142
[875b4070]143 <note>
[b84342d6]144 <para>
[f586237]145 If <xref linkend="libxslt"/> is installed,
146 then <xref linkend="DocBook"/> and <xref linkend="docbook-xsl"/> are
147 required. If you have installed <xref linkend="libxslt"/>, but you do
148 not want to install any of the DocBook packages mentioned, you will
[59f6a1f]149 need to use <option>-Dman=false</option> in the instructions
[f586237]150 below.
[b84342d6]151 </para>
[875b4070]152 </note>
[9d3d8a8]153
154 </sect2>
155
156 <sect2 role="installation">
[01996ebb]157 <title>Installation of Polkit</title>
[9d3d8a8]158
[b84342d6]159 <para>
[01996ebb]160 There should be a dedicated user and group to take control
161 of the <command>polkitd</command> daemon after it is
162 started. Issue the following commands as the
163 <systemitem class="username">root</systemitem> user:
164 </para>
165
166<screen role="root"><userinput>groupadd -fg 27 polkitd &amp;&amp;
167useradd -c "PolicyKit Daemon Owner" -d /etc/polkit-1 -u 27 \
168 -g polkitd -s /bin/false polkitd</userinput></screen>
169
[730d47f2]170 <para revision='sysv'>
171 First fix a build problem for sysV based systems:
[7e280b45]172 </para>
173
[730d47f2]174<screen revision="sysv"><userinput>sed -i '/systemd_sysusers_dir/s/^/#/' meson.build</userinput></screen>
[b5b1af68]175
[01996ebb]176 <para>
177 Install <application>Polkit</application> by running the following
[37aba7f]178 commands:
[b84342d6]179 </para>
[9d3d8a8]180
[59f6a1f]181<screen revision="systemd"><userinput>mkdir build &amp;&amp;
182cd build &amp;&amp;
183
[91318eb]184meson setup .. \
185 --prefix=/usr \
[60caf48]186 --buildtype=release \
[59f6a1f]187 -Dman=true \
188 -Dsession_tracking=libsystemd-login \
[91318eb]189 -Dtests=true &amp;&amp;
[59f6a1f]190ninja</userinput></screen>
[51dfb3e]191
[59f6a1f]192<screen revision="sysv"><userinput>mkdir build &amp;&amp;
193cd build &amp;&amp;
194
[91318eb]195meson setup .. \
196 --prefix=/usr \
[60caf48]197 --buildtype=release \
[59f6a1f]198 -Dman=true \
199 -Dsession_tracking=libelogind \
[91318eb]200 -Dtests=true &amp;&amp;
[59f6a1f]201ninja</userinput></screen>
202
[b84342d6]203 <para>
[8558044]204 To test the results, first ensure that the system
[bf654b1]205 <application>D-Bus</application> daemon is running,
206 and both <xref linkend='dbus-python'/> and
207 <xref linkend='python-dbusmock'/> are installed.
[8de6bb81]208 Then run <command>ninja test</command>.
[59f6a1f]209 </para>
[9d3d8a8]210
[b84342d6]211 <para>
212 Now, as the <systemitem class="username">root</systemitem> user:
213 </para>
[9d3d8a8]214
[6be3fe3]215<screen role="root"><userinput>ninja install</userinput></screen>
[9d3d8a8]216
217 </sect2>
218
219 <sect2 role="commands">
220 <title>Command Explanations</title>
221
[7e280b45]222 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
223 href="../../xincludes/meson-buildtype-release.xml"/>
224
[492cca2c]225 <para>
226 <parameter>-Dtests=true</parameter>: This switch allows to run the
227 test suite of this package. As <application>Polkit</application> is
228 used for authorizations, its integrity can affect system security.
229 So it's recommended to run the test suite building this package.
230 </para>
231
[7d5d3d4]232 <para>
[0c72a8b]233 <option>-Djs_engine=mozjs</option>: This switch allows using the
[5028839f]234 <xref linkend="spidermonkey"/> JavaScript engine instead of the
[0c72a8b]235 <xref linkend='duktape'/> JavaScript engine.
[7d5d3d4]236 </para>
237
[59f6a1f]238 <!--
[4a0b346]239 <para revision="sysv">
[59f6a1f]240 <parameter>- -disable-libsystemd-login</parameter>: This switch forces
[4a0b346]241 polkit to build with elogind support (if available) rather than
242 systemd-logind.
243 </para>
244
[7a9a7b26]245
[ad539dbe]246 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
247 href="../../xincludes/static-libraries.xml"/>
[59f6a1f]248 -->
[7a9a7b26]249
[1121404]250 <para>
251 <option>-Dos_type=lfs</option>: Use this switch if you did not create
252 the <filename>/etc/lfs-release</filename> file or distribution auto
253 detection will fail and you will be unable to use
254 <application>Polkit</application>.
255 </para>
256
[51dfb3e]257 <para>
[59f6a1f]258 <option>-Dauthfw=shadow</option>: This switch enables the
[f586237]259 package to use the <application>Shadow</application> rather than the
260 <application>Linux PAM</application> Authentication framework. Use it
261 if you have not installed <application>Linux PAM</application>.
[b84342d6]262 </para>
263
[59f6a1f]264 <!--
[e05cd03f]265 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
[51dfb3e]266 href="../../xincludes/gtk-doc-rebuild.xml"/>
[59f6a1f]267 -->
268
269 <para>
270 <option>-Dintrospection=false</option>: Use this option if you are certain
271 that you do not need gobject-introspection files for polkit, or do not have
[c0bc0a9]272 installed <xref linkend='glib2'/> with GObject Introspection.
[59f6a1f]273 </para>
274
275 <para>
276 <option>-Dman=false</option>: Use this option to disable generating and
277 installing manual pages. This is useful if libxslt is not installed.
278 </para>
279
280 <para>
281 <option>-Dexamples=true</option>: Use this option to build the example
282 programs.
283 </para>
284
285 <para>
286 <option>-Dgtk_doc=true</option>: Use this option to enable building and
287 installing the API documentation.
288 </para>
[51dfb3e]289
[9d3d8a8]290 </sect2>
291
292 <sect2 role="content">
293 <title>Contents</title>
294
295 <segmentedlist>
296 <segtitle>Installed Programs</segtitle>
297 <segtitle>Installed Libraries</segtitle>
298 <segtitle>Installed Directories</segtitle>
299
300 <seglistitem>
[b84342d6]301 <seg>
[59f6a1f]302 pkaction, pkcheck, <!--pk-example-frobnicate,--> pkexec,
[a428935]303 pkttyagent, and polkitd
[b84342d6]304 </seg>
305 <seg>
[0d7900a]306 libpolkit-agent-1.so and
[b84342d6]307 libpolkit-gobject-1.so
308 </seg>
[028759b]309 <seg>
[01996ebb]310 /etc/polkit-1,
311 /usr/include/polkit-1,
312 /usr/lib/polkit-1,
[a428935]313 /usr/share/gtk-doc/html/polkit-1, and
[028759b]314 /usr/share/polkit-1
[b84342d6]315 </seg>
[9d3d8a8]316 </seglistitem>
317 </segmentedlist>
318
319 <variablelist>
320 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
321 <?dbfo list-presentation="list"?>
322 <?dbhtml list-presentation="table"?>
323
324 <varlistentry id="pkaction">
325 <term><command>pkaction</command></term>
326 <listitem>
[b84342d6]327 <para>
[4c24eb0a]328 is used to obtain information about registered PolicyKit actions
[b84342d6]329 </para>
[9d3d8a8]330 <indexterm zone="polkit pkaction">
331 <primary sortas="b-pkaction">pkaction</primary>
332 </indexterm>
333 </listitem>
334 </varlistentry>
335
336 <varlistentry id="pkcheck">
337 <term><command>pkcheck</command></term>
338 <listitem>
[b84342d6]339 <para>
[4c24eb0a]340 is used to check whether a process is authorized for action
[b84342d6]341 </para>
[9d3d8a8]342 <indexterm zone="polkit pkcheck">
343 <primary sortas="b-pkcheck">pkcheck</primary>
344 </indexterm>
345 </listitem>
346 </varlistentry>
347
[59f6a1f]348<!--
[72d90b67]349 <varlistentry id="pk-example-frobnicate">
350 <term><command>pk-example-frobnicate</command></term>
351 <listitem>
352 <para>
353 is an example program to test the <command>pkexec</command>
[4c24eb0a]354 command
[72d90b67]355 </para>
356 <indexterm zone="polkit pk-example-frobnicate">
357 <primary sortas="b-pk-example-frobnicate">pk-example-frobnicate</primary>
358 </indexterm>
359 </listitem>
360 </varlistentry>
[59f6a1f]361-->
[7a9a7b26]362
[9d3d8a8]363 <varlistentry id="pkexec">
364 <term><command>pkexec</command></term>
365 <listitem>
[b84342d6]366 <para>
[4c24eb0a]367 allows an authorized user to execute a command as another user
[b84342d6]368 </para>
[9d3d8a8]369 <indexterm zone="polkit pkexec">
370 <primary sortas="b-pkexec">pkexec</primary>
371 </indexterm>
372 </listitem>
373 </varlistentry>
374
[b84342d6]375 <varlistentry id="pkttyagent">
376 <term><command>pkttyagent</command></term>
[9d3d8a8]377 <listitem>
[b84342d6]378 <para>
[4c24eb0a]379 is used to start a textual authentication agent for the subject
[b84342d6]380 </para>
381 <indexterm zone="polkit pkttyagent">
382 <primary sortas="b-pkttyagent">pkttyagent</primary>
[9d3d8a8]383 </indexterm>
384 </listitem>
[b84342d6]385 </varlistentry>
[9d3d8a8]386
[875b4070]387 <varlistentry id="polkitd">
[9d3d8a8]388 <term><command>polkitd</command></term>
389 <listitem>
[b84342d6]390 <para>
[0d7900a]391 provides the org.freedesktop.PolicyKit1 <application>D-Bus</application>
[4c24eb0a]392 service on the system message bus
[b84342d6]393 </para>
[875b4070]394 <indexterm zone="polkit polkitd">
[9d3d8a8]395 <primary sortas="b-polkitd">polkitd</primary>
396 </indexterm>
397 </listitem>
398 </varlistentry>
399
400 <varlistentry id="libpolkit-agent-1">
[4c24eb0a]401 <term><filename class="libraryfile">libpolkit-agent-1.so</filename></term>
[9d3d8a8]402 <listitem>
[b84342d6]403 <para>
[01996ebb]404 contains the <application>Polkit</application> authentication
[4c24eb0a]405 agent API functions
[b84342d6]406 </para>
[9d3d8a8]407 <indexterm zone="polkit libpolkit-agent-1">
[b84342d6]408 <primary sortas="c-libpolkit-agent-1">libpolkit-agent-1.so</primary>
[9d3d8a8]409 </indexterm>
410 </listitem>
411 </varlistentry>
412
413 <varlistentry id="libpolkit-gobject-1">
[4c24eb0a]414 <term><filename class="libraryfile">libpolkit-gobject-1.so</filename></term>
[9d3d8a8]415 <listitem>
[b84342d6]416 <para>
[4c24eb0a]417 contains the <application>Polkit</application> authorization API functions
[b84342d6]418 </para>
[9d3d8a8]419 <indexterm zone="polkit libpolkit-gobject-1">
[b84342d6]420 <primary sortas="c-libpolkit-gobject-1">libpolkit-gobject-1.so</primary>
[9d3d8a8]421 </indexterm>
422 </listitem>
423 </varlistentry>
424
425 </variablelist>
426
427 </sect2>
428
429</sect1>
Note: See TracBrowser for help on using the repository browser.