aboutsummaryrefslogtreecommitdiffstats
path: root/chapter08/libcap.xml
diff options
context:
space:
mode:
authorBruce Dubbs <bdubbs@linuxfromscratch.org>2020-06-07 20:16:00 +0000
committerBruce Dubbs <bdubbs@linuxfromscratch.org>2020-06-07 20:16:00 +0000
commitfcc027677da55c41dcaea045f5b9ff8b088e6495 (patch)
tree42500a7858959695b971e7f28f1d0bf33185db2e /chapter08/libcap.xml
parentd53fefab5a6772fef606392a61608fc290e6a7ae (diff)
Initial commit of alternative cross LFS
git-svn-id: http://svn.linuxfromscratch.org/LFS/branches/cross2@11897 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
Diffstat (limited to 'chapter08/libcap.xml')
-rw-r--r--chapter08/libcap.xml166
1 files changed, 166 insertions, 0 deletions
diff --git a/chapter08/libcap.xml b/chapter08/libcap.xml
new file mode 100644
index 000000000..8126dfaae
--- /dev/null
+++ b/chapter08/libcap.xml
@@ -0,0 +1,166 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
+ "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
+ <!ENTITY % general-entities SYSTEM "../general.ent">
+ %general-entities;
+]>
+
+<sect1 id="ch-system-libcap" role="wrap">
+ <?dbhtml filename="libcap.html"?>
+
+ <sect1info condition="script">
+ <productname>libcap</productname>
+ <productnumber>&libcap-version;</productnumber>
+ <address>&libcap-url;</address>
+ </sect1info>
+
+ <title>Libcap-&libcap-version;</title>
+
+ <indexterm zone="ch-system-libcap">
+ <primary sortas="a-Libcap">Libcap</primary>
+ </indexterm>
+
+ <sect2 role="package">
+ <title/>
+
+ <para>The Libcap package implements the user-space interfaces to the POSIX
+ 1003.1e capabilities available in Linux kernels. These capabilities are a
+ partitioning of the all powerful root privilege into a set of distinct
+ privileges.</para>
+
+ <segmentedlist>
+ <segtitle>&buildtime;</segtitle>
+ <segtitle>&diskspace;</segtitle>
+
+ <seglistitem>
+ <seg>&libcap-ch6-sbu;</seg>
+ <seg>&libcap-ch6-du;</seg>
+ </seglistitem>
+ </segmentedlist>
+
+ </sect2>
+
+ <sect2 role="installation">
+ <title>Installation of Libcap</title>
+
+ <para>Prevent a static library from being installed:</para>
+
+<screen><userinput remap="pre">sed -i '/install.*STACAPLIBNAME/d' libcap/Makefile</userinput></screen>
+
+ <para>Compile the package:</para>
+
+<screen><userinput remap="make">make lib=lib</userinput></screen>
+
+ <variablelist>
+ <title>The meaning of the make option:</title>
+
+ <varlistentry>
+ <term><parameter>lib=lib</parameter></term>
+ <listitem>
+ <para>This parameter sets the library directory to
+ <filename>/lib</filename> rather than
+ <filename>/lib64</filename> on x86_64. It has no effect on
+ x86.</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+
+ <para>To test the results, issue:</para>
+
+<screen><userinput remap="test">make test</userinput></screen>
+
+ <para>Install the package and do some cleanup:</para>
+
+<screen><userinput remap="install">make lib=lib PKGCONFIGDIR=/usr/lib/pkgconfig install
+chmod -v 755 /lib/libcap.so.&libcap-version;
+mv -v /lib/libpsx.a /usr/lib
+rm -v /lib/libcap.so
+ln -sfv ../../lib/libcap.so.2 /usr/lib/libcap.so</userinput></screen>
+
+ </sect2>
+
+ <sect2 id="contents-libcap" role="content">
+ <title>Contents of Libcap</title>
+
+ <segmentedlist>
+ <segtitle>Installed programs</segtitle>
+ <segtitle>Installed library</segtitle>
+
+ <seglistitem>
+ <seg>capsh, getcap, getpcaps, and setcap</seg>
+ <seg>libcap.so and libpsx.a</seg>
+ </seglistitem>
+ </segmentedlist>
+
+ <variablelist>
+ <bridgehead renderas="sect3">Short Descriptions</bridgehead>
+ <?dbfo list-presentation="list"?>
+ <?dbhtml list-presentation="table"?>
+
+ <varlistentry id="capsh">
+ <term><command>capsh</command></term>
+ <listitem>
+ <para>A shell wrapper to explore and constrain capability support</para>
+ <indexterm zone="ch-system-libcap capsh">
+ <primary sortas="b-capsh">capsh</primary>
+ </indexterm>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry id="getcap">
+ <term><command>getcap</command></term>
+ <listitem>
+ <para>Examines file capabilities</para>
+ <indexterm zone="ch-system-libcap getcap">
+ <primary sortas="b-getcap">getcap</primary>
+ </indexterm>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry id="getpcaps">
+ <term><command>getpcaps</command></term>
+ <listitem>
+ <para>Displays the capabilities on the queried process(es)</para>
+ <indexterm zone="ch-system-libcap getpcaps">
+ <primary sortas="b-getpcaps">getpcaps</primary>
+ </indexterm>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry id="setcap">
+ <term><command>setcap</command></term>
+ <listitem>
+ <para>Sets file capabilities</para>
+ <indexterm zone="ch-system-libcap setcap">
+ <primary sortas="b-setcap">setcap</primary>
+ </indexterm>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry id="libcap">
+ <term><filename class="libraryfile">libcap</filename></term>
+ <listitem>
+ <para>Contains the library functions for manipulating POSIX 1003.1e
+ capabilities</para>
+ <indexterm zone="ch-system-libcap libcap">
+ <primary sortas="c-libcap">libcap</primary>
+ </indexterm>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry id="libpsx">
+ <term><filename class="libraryfile">libpsx</filename></term>
+ <listitem>
+ <para>Contains functions to support POSIX semantics for syscalls
+ associated with the pthread library</para>
+ <indexterm zone="ch-system-libcap libpsx">
+ <primary sortas="c-libpsx">libpsx</primary>
+ </indexterm>
+ </listitem>
+ </varlistentry>
+
+ </variablelist>
+
+ </sect2>
+
+</sect1>