Update to glibc-2.25.
[linux_from_scratch.git] / chapter06 / acl.xml
blob7d448c12148b6c239a1a5ff022c7866dfc6d57b9
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 revision="sysv"><userinput remap="configure">./configure --prefix=/usr    \
63             --bindir=/bin    \
64             --disable-static \
65             --libexecdir=/usr/lib</userinput></screen>
67 <screen revision="systemd"><userinput remap="configure">./configure --prefix=/usr    \
68             --disable-static \
69             --libexecdir=/usr/lib</userinput></screen>
71     <para>Compile the package:</para>
73 <screen><userinput remap="make">make</userinput></screen>
75     <para>The Acl tests need to be run on a filesystem that supports access
76     controls after <application>Coreutils</application> has been built with the
77     Acl libraries.  If desired, return to this package and run <command>make -j1
78     tests</command> after <application>Coreutils</application> has been built
79     later in this chapter.</para>
81     <para>Install the package:</para>
83 <screen><userinput remap="install">make install install-dev install-lib
84 chmod -v 755 /usr/lib/libacl.so</userinput></screen>
86     <para>The shared library needs to be moved to
87     <filename class="directory">/lib</filename>, and as a result the
88     <filename class="extension">.so</filename> file in
89     <filename class="directory">/usr/lib</filename> will need to be recreated:</para>
91 <screen><userinput remap="install">mv -v /usr/lib/libacl.so.* /lib
92 ln -sfv ../../lib/$(readlink /usr/lib/libacl.so) /usr/lib/libacl.so</userinput></screen>
94   </sect2>
96   <sect2 id="contents-acl" role="content">
97     <title>Contents of Acl</title>
99     <segmentedlist>
100       <segtitle>Installed programs</segtitle>
101       <segtitle>Installed library</segtitle>
102       <segtitle>Installed directories</segtitle>
104       <seglistitem>
105         <seg>chacl, getfacl, and setacl</seg>
106         <seg>libacl.so</seg>
107         <seg>/usr/include/acl and /usr/share/doc/acl-&acl-version;</seg>
108       </seglistitem>
109     </segmentedlist>
111     <variablelist>
112       <bridgehead renderas="sect3">Short Descriptions</bridgehead>
113       <?dbfo list-presentation="list"?>
114       <?dbhtml list-presentation="table"?>
116       <varlistentry id="chacl">
117         <term><command>chacl</command></term>
118         <listitem>
119           <para>Changes the access control list of a file
120           or directory</para>
121           <indexterm zone="ch-system-acl chacl">
122             <primary sortas="b-chacl">chacl</primary>
123           </indexterm>
124         </listitem>
125       </varlistentry>
127       <varlistentry id="getfacl">
128         <term><command>getfacl</command></term>
129         <listitem>
130           <para>Gets file access control lists</para>
131           <indexterm zone="ch-system-acl getfacl">
132             <primary sortas="b-getfacl">getfacl</primary>
133           </indexterm>
134         </listitem>
135       </varlistentry>
137       <varlistentry id="setacl">
138         <term><command>setacl</command></term>
139         <listitem>
140           <para>Sets file access control lists</para>
141           <indexterm zone="ch-system-acl setacl">
142             <primary sortas="b-setacl">setacl</primary>
143           </indexterm>
144         </listitem>
145       </varlistentry>
147       <varlistentry id="libacl">
148         <term><filename class="libraryfile">libacl</filename></term>
149         <listitem>
150           <para>Contains the  library functions for manipulating Access Control Lists</para>
151           <indexterm zone="ch-system-acl libacl">
152             <primary sortas="c-libacl">libacl</primary>
153           </indexterm>
154         </listitem>
155       </varlistentry>
157     </variablelist>
159   </sect2>
161 </sect1>