<?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;

  <!ENTITY cifsutils-download-http "https://www.samba.org/ftp/linux-cifs/cifs-utils/cifs-utils-&cifsutils-version;.tar.bz2">
  <!ENTITY cifsutils-download-ftp  " ">
  <!ENTITY cifsutils-md5sum        "af3ae1d27aca624c4daac5bf3eb0d4c1">
  <!ENTITY cifsutils-size          "356 KB">
  <!ENTITY cifsutils-buildsize     "3.1 MB">
  <!ENTITY cifsutils-time          "less than 0.1 SBU">
]>

<sect1 id="cifsutils" xreflabel="cifs-utils-&cifsutils-version;">
  <?dbhtml filename="cifsutils.html"?>

  <sect1info>
    <othername>$LastChangedBy$</othername>
    <date>$Date$</date>
  </sect1info>

  <title>cifs-utils-&cifsutils-version;</title>

  <indexterm zone="cifsutils">
    <primary sortas="a-cifsutils">cifs-utils</primary>
  </indexterm>

  <sect2 role="package">
   <title>Introduction to cifs-utils</title>

    <para>The <application>cifs-utils</application> provides a means for
    mounting SMB/CIFS shares on a Linux system.</para>

    &lfs81_checked;

    <bridgehead renderas="sect3">Package Information</bridgehead>
    <itemizedlist spacing="compact">
      <listitem>
        <para>Download (HTTP): <ulink url="&cifsutils-download-http;"/></para>
      </listitem>
      <listitem>
        <para>Download (FTP): <ulink url="&cifsutils-download-ftp;"/></para>
      </listitem>
      <listitem>
        <para>Download MD5 sum: &cifsutils-md5sum;</para>
      </listitem>
      <listitem>
        <para>Download size: &cifsutils-size;</para>
      </listitem>
      <listitem>
        <para>Estimated disk space required: &cifsutils-buildsize;</para>
      </listitem>
      <listitem>
        <para>Estimated build time: &cifsutils-time;</para>
      </listitem>
    </itemizedlist>

    <bridgehead renderas="sect3">cifs-utils Dependencies</bridgehead>

    <bridgehead renderas="sect4">Required</bridgehead>
    <para role="required">
      <xref linkend="talloc"/>
    </para>

    <bridgehead renderas="sect4">Optional</bridgehead>
    <para role="optional">
      <xref linkend="keyutils"/> (required to build PAM module),
      <xref linkend="linux-pam"/>,
      <xref linkend="mitkrb"/>,
      <xref linkend="samba"/>, and
      <ulink url="http://people.redhat.com/sgrubb/libcap-ng/">libcap-ng</ulink> or
      <xref linkend="libcap-pam"/>
    </para>

    <para condition="html" role="usernotes">User Notes:
    <ulink url="&blfs-wiki;/cifsutils"/></para>

  </sect2>

  <sect2 role="kernel" id="cifsutils-kernel">
    <title>Kernel Configuration</title>

    <para>
      Enable the following options in the kernel configuration and recompile the
      kernel if necessary:
    </para>

<screen><literal>File systems  ---&gt;
  [*] Network File Systems  ---&gt;                                      [CONFIG_NETWORK_FILESYSTEMS]
    &lt;*/M&gt; CIFS support (advanced network filesystem, SMBFS successor) [CONFIG_CIFS]</literal></screen>

    <indexterm zone="cifsutils cifsutils-kernel">
      <primary sortas="d-cifsutils">cifs-utils</primary>
    </indexterm>

  </sect2>

  <sect2 role="installation">
    <title>Installation of cifs-utils</title>

    <para>Install <application>cifs-utils</application> by running the following
    commands:</para>

<screen revision="sysv"><userinput>autoreconf -fiv &amp;&amp;
./configure --prefix=/usr \
            --disable-pam \
            --disable-systemd &amp;&amp;
make</userinput></screen>

<screen revision="systemd"><userinput>autoreconf -fiv &amp;&amp;
./configure --prefix=/usr \
            --disable-pam &amp;&amp;
make</userinput></screen>

    <para>This package does not come with a test suite.</para>

    <para>Now, as the <systemitem class="username">root</systemitem> user:</para>

<screen role="root"><userinput>make install</userinput></screen>

  </sect2>

  <sect2 role="commands">
      <title>Command Explanations</title>

          <para><parameter>--disable-pam</parameter>: Do not build PAM support.
            Remove  it and use <option>--with-pamdir</option> (see below),
            if <xref linkend="linux-pam"/> is installed and you wish
            PAM support.</para>

          <para revision="sysv"><parameter>--disable-systemd</parameter>:
            Disable systemd specific behavior for
            <command>mount.cifs</command>. Remove it for systems running with
            systemd.</para>

          <para><option>--with-pamdir=/lib/security</option>: Install the PAM
            module in
            <filename class="directory">/lib/security</filename>.</para>

  </sect2>

  <sect2 role="content">
    <title>Contents</title>

    <segmentedlist>
      <segtitle>Installed Programs</segtitle>
      <segtitle>Installed Library</segtitle>
      <segtitle>Installed Directory</segtitle>

      <seglistitem>
        <seg> getcifsacl, mount.cifs and setcifsacl;
          optional: cifs.idmap, cifs.upcall and cifscreds</seg>
        <seg>/usr/lib/cifs-utils/idmapwb.so and optionally
          PAM module /lib/security/pam_cifscreds.so</seg>
        <seg>/usr/lib/cifs-utils</seg>
      </seglistitem>
    </segmentedlist>

    <variablelist>
      <bridgehead renderas="sect3">Short Descriptions</bridgehead>
      <?dbfo list-presentation="list"?>
      <?dbhtml list-presentation="table"?>

      <varlistentry id="cifs.idmap">
        <term><command>cifs.idmap</command></term>
        <listitem>
          <para>is a userspace helper program for the linux CIFS client
          filesystem. There are a number of activities that the kernel cannot
          easily do itself. This program is a callout program that does these
          things for the kernel and then returns the result. It is not intended
          to be run from the command-line.</para>
          <indexterm zone="cifsutils cifs.idmap">
            <primary sortas="b-cifs.idmap">cifs.idmap</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="cifs.upcall">
        <term><command>cifs.upcall</command></term>
        <listitem>
          <para>is a userspace helper program for the linux CIFS client
          filesystem. It is intended to be run when the kernel calls
          request-key for a particular key type.  It is not intended to be
          run from the command-line.</para>
          <indexterm zone="cifsutils cifs.upcall">
            <primary sortas="b-cifs.upcall">cifs.upcall</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="cifscreds">
        <term><command>cifscreds</command></term>
        <listitem>
          <para>is a tool for managing credentials (username and password)
          for the purpose of establishing sessions in multiuser mounts.</para>
          <indexterm zone="cifsutils cifscreds">
            <primary sortas="b-cifscreds">cifscreds</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="getcifsacl">
        <term><command>getcifsacl</command></term>
        <listitem>
          <para>is a userspace helper  to display an ACL in a security
          descriptor for Common Internet File System (CIFS).</para>
          <indexterm zone="cifsutils getcifsacl">
            <primary sortas="b-getcifsacl">getcifsacl</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="mount.cifs">
        <term><command>mount.cifs</command></term>
        <listitem>
          <para>mounts a Linux CIFS filesystem. It is usually invoked
          indirectly by the mount(8) command when using the "-t cifs" option.
          </para>
          <indexterm zone="cifsutils mount.cifs">
            <primary sortas="b-mount.cifs">mount.cifs</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="setcifsacl">
        <term><command>setcifsacl</command></term>
        <listitem>
          <para>is intended to alter an ACL of a security descriptor for a file
          system object.</para>
          <indexterm zone="cifsutils setcifsacl">
            <primary sortas="b-setcifsacl">setcifsacl</primary>
          </indexterm>
        </listitem>
      </varlistentry>

    </variablelist>

  </sect2>

</sect1>