Tag LFS-7.9-systemd-rc2
[linux_from_scratch.git] / chapter06 / acl.xml
blob213535fd0723c8079b76ea76d175a0638532fe71
1 <?xml version="1.0" encoding="ISO-8859-1"?>
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 ]>
8 <sect1 id="ch-system-acl" role="wrap">
9   <?dbhtml filename="acl.html"?>
11   <sect1info condition="script">
12     <productname>acl</productname>
13     <productnumber>&acl-version;</productnumber>
14     <address>&acl-url;</address>
15   </sect1info>
17   <title>Acl-&acl-version;</title>
19   <indexterm zone="ch-system-acl">
20     <primary sortas="a-Acl">Acl</primary>
21   </indexterm>
23   <sect2 role="package">
24     <title/>
26     <para>The Acl package contains utilities to administer Access Control Lists,
27     which are used to define more fine-grained discretionary access rights for
28     files and directories.</para>
30     <segmentedlist>
31       <segtitle>&buildtime;</segtitle>
32       <segtitle>&diskspace;</segtitle>
34       <seglistitem>
35         <seg>&acl-ch6-sbu;</seg>
36         <seg>&acl-ch6-du;</seg>
37       </seglistitem>
38     </segmentedlist>
40   </sect2>
42   <sect2 role="installation">
43     <title>Installation of Acl</title>
45     <para>Modify the documentation directory so that it is a versioned
46     directory:</para>
48 <screen><userinput remap="pre">sed -i -e 's|/@pkg_name@|&amp;-@pkg_version@|' include/builddefs.in</userinput></screen>
50     <para>Fix some broken tests:</para>
52 <screen><userinput remap="pre">sed -i "s:| sed.*::g" test/{sbits-restore,cp,misc}.test</userinput></screen>
54     <para>Additionally, fix a bug that causes <command>getfacl -e</command>
55     to segfault on overly long group name:</para>
57 <screen><userinput remap="pre">sed -i -e "/TABS-1;/a if (x > (TABS-1)) x = (TABS-1);" \
58     libacl/__acl_to_any_text.c</userinput></screen>
60     <para>Prepare Acl for compilation:</para>
62 <screen><userinput remap="configure">./configure --prefix=/usr    \
63             --disable-static \
64             --libexecdir=/usr/lib</userinput></screen>
66     <para>Compile the package:</para>
68 <screen><userinput remap="make">make</userinput></screen>
70     <para>The Acl tests need to be run on a filesystem that supports access
71     controls after <application>Coreutils</application> has been built with the
72     Acl libraries.  If desired, return to this package and run <command>make -j1
73     tests</command> after <application>Coreutils</application> has been built
74     later in this chapter.</para>
76     <para>Install the package:</para>
78 <screen><userinput remap="install">make install install-dev install-lib
79 chmod -v 755 /usr/lib/libacl.so</userinput></screen>
81     <para>The shared library needs to be moved to
82     <filename class="directory">/lib</filename>, and as a result the
83     <filename class="extension">.so</filename> file in
84     <filename class="directory">/usr/lib</filename> will need to be recreated:</para>
86 <screen><userinput remap="install">mv -v /usr/lib/libacl.so.* /lib
87 ln -sfv ../../lib/$(readlink /usr/lib/libacl.so) /usr/lib/libacl.so</userinput></screen>
89   </sect2>
91   <sect2 id="contents-acl" role="content">
92     <title>Contents of Acl</title>
94     <segmentedlist>
95       <segtitle>Installed programs</segtitle>
96       <segtitle>Installed library</segtitle>
97       <segtitle>Installed directories</segtitle>
99       <seglistitem>
100         <seg>chacl, getfacl, and setacl</seg>
101         <seg>libacl.so</seg>
102         <seg>/usr/include/acl and /usr/share/doc/acl-&acl-version;</seg>
103       </seglistitem>
104     </segmentedlist>
106     <variablelist>
107       <bridgehead renderas="sect3">Short Descriptions</bridgehead>
108       <?dbfo list-presentation="list"?>
109       <?dbhtml list-presentation="table"?>
111       <varlistentry id="chacl">
112         <term><command>chacl</command></term>
113         <listitem>
114           <para>Changes the access control list of a file
115           or directory</para>
116           <indexterm zone="ch-system-acl chacl">
117             <primary sortas="b-chacl">chacl</primary>
118           </indexterm>
119         </listitem>
120       </varlistentry>
122       <varlistentry id="getfacl">
123         <term><command>getfacl</command></term>
124         <listitem>
125           <para>Gets file access control lists</para>
126           <indexterm zone="ch-system-acl getfacl">
127             <primary sortas="b-getfacl">getfacl</primary>
128           </indexterm>
129         </listitem>
130       </varlistentry>
132       <varlistentry id="setacl">
133         <term><command>setacl</command></term>
134         <listitem>
135           <para>Sets file access control lists</para>
136           <indexterm zone="ch-system-acl setacl">
137             <primary sortas="b-setacl">setacl</primary>
138           </indexterm>
139         </listitem>
140       </varlistentry>
142       <varlistentry id="libacl">
143         <term><filename class="libraryfile">libacl</filename></term>
144         <listitem>
145           <para>Contains the  library functions for manipulating Access Control Lists</para>
146           <indexterm zone="ch-system-acl libacl">
147             <primary sortas="c-libacl">libacl</primary>
148           </indexterm>
149         </listitem>
150       </varlistentry>
152     </variablelist>
154   </sect2>
156 </sect1>