Subversion Repositories svn LFS-FR

Rev

Rev 1397 | Blame | Compare with Previous | Last modification | View Log | RSS feed

<?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-shadow" role="wrap">
  <?dbhtml filename="shadow.html"?>

  <sect1info condition="script">
    <productname>shadow</productname>
    <productnumber>&shadow-version;</productnumber>
    <address>&shadow-url;</address>
  </sect1info>

  <title>Shadow-&shadow-version;</title>

  <indexterm zone="ch-system-shadow">
    <primary sortas="a-Shadow">Shadow</primary>
  </indexterm>

  <sect2 role="package">
    <title/>

    <para>Le paquet Shadow contient des programmes de gestion de mots de
    passe d'une façon sécurisée.</para>

    <segmentedlist>
      <segtitle>&buildtime;</segtitle>
      <segtitle>&diskspace;</segtitle>

      <seglistitem>
        <seg>&shadow-ch6-sbu;</seg>
        <seg>&shadow-ch6-du;</seg>
      </seglistitem>
    </segmentedlist>

  </sect2>

  <sect2 role="installation">
    <title>Installation de Shadow</title>

    <note>
      <para>Si vous aimeriez multiplier l'usage des mots de passe efficaces,
      reportez-vous à
      <ulink url="&blfs-root;view/svn/postlfs/cracklib.html"/> pour l'installation
      de CrackLib avant de compiler Shadow. Puis ajoutez
      <parameter>--with-libcrack</parameter> à la commande <command>configure</command>
      ci-dessous.</para>
    </note>

    <!-- <para>Corrigez un bogue dans les programmes
   <command>useradd</command> et <command>usermod</command> qui les
   empêche d'accepter des noms de groupe plutôt que des nombres ID de
   groupe avec <option>-g</option>&nbsp;:</para>

<screen><userinput remap="pre">patch -Np1 -i ../&shadow-useradd-patch;</userinput></screen>
-->

    <para>Désactivez l'installation du programme
    <command>groups</command> et de sa page man car Coreutils fournit
    une meilleure version&nbsp;:</para>

<screen><userinput remap="configure">sed -i 's/groups$(EXEEXT) //' src/Makefile.in
find man -name Makefile.in -exec sed -i 's/groups\.1 / /' {} \;</userinput></screen>

    <para id="shadow-login_defs">Au lieu d'utiliser la méthode
    <emphasis>crypt</emphasis> par défaut, utilisez la méthode
    <emphasis>SHA-512</emphasis> plus sécurisée du chiffrement de mot de
    passe, qui autorise aussi les mots de passe plus longs que huit
    caractères. Il est également nécessaire de changer l'endroit
    obsolète de <filename class="directory">/var/spool/mail</filename>
    pour les boîtes e-mail de l'utilisateur que Shadow utilise par
    défaut en l'endroit <filename class="directory">/var/mail</filename>
    utilisé actuellement&nbsp;:</para>

<screen><userinput remap="configure">sed -i -e 's@#ENCRYPT_METHOD DES at ENCRYPT_METHOD SHA512@' \
        -e 's@/var/spool/mail@/var/mail@' etc/login.defs</userinput></screen>

    <note>
      <para>Si vous compilez Shadow avec le support pour Cracklib, lancez
      ce qui suit&nbsp;:</para>

<screen role="nodump"><userinput>sed -i 's@DICTPATH.*@DICTPATH\t/lib/cracklib/pw_dict@' \
    etc/login.defs</userinput></screen>
    </note>

    <para>Préparez la compilation de Shadow&nbsp;:</para>

<screen><userinput remap="configure">./configure --sysconfdir=/etc</userinput></screen>

    <para>Compilez le paquet&nbsp;:</para>

<screen><userinput remap="make">make</userinput></screen>

    <para>Ce paquet n'est pas fourni avec une suite de tests.</para>

    <para>Installez le paquet&nbsp;:</para>

<screen><userinput remap="install">make install</userinput></screen>

    <para>Déplacez un programme mal placé au bon endroit&nbsp;:</para>

<screen><userinput remap="install">mv -v /usr/bin/passwd /bin</userinput></screen>

<!--
   <para>Utilisez les possibilités Linux Capabilities plutôt que suid&nbsp;:</para>
   
<screen><userinput remap="install">chmod -v -s /usr/bin/chage
setcap -v CAP_DAC_READ_SEARCH=ep /usr/bin/chage
chmod -v -s /usr/bin/chsh
setcap -v CAP_CHOWN,CAP_SETUID=ep /usr/bin/chsh
chmod -v -s /usr/bin/newgrp
setcap -v CAP_DAC_READ_SEARCH,CAP_SETGID=ep /usr/bin/newgrp
chmod -v -s /usr/bin/chfn
setcap -v CAP_CHOWN,CAP_DAC_READ_SEARCH,CAP_SETUID=ep /usr/bin/chfn
chmod -v -s /usr/bin/gpasswd
setcap -v CAP_CHOWN,CAP_DAC_OVERRIDE,CAP_SETUID=ep /usr/bin/gpasswd
chmod -v -s /usr/bin/expiry
setcap -v CAP_DAC_READ_SEARCH=ep /usr/bin/expiry
chmod -v -s /bin/su
setcap -v CAP_DAC_READ_SEARCH,CAP_SETUID,CAP_SETGID=ep /bin/su
chmod -v -s /bin/passwd    
setcap -v CAP_CHOWN,CAP_DAC_OVERRIDE,CAP_SETUID=ep /bin/passwd</userinput></screen>
-->

    <!-- <para>Déplacez les bibliothèques de Shadow dans des emplacements
   plus appropriés&nbsp;:</para>

<screen><userinput remap="install">mv -v /lib/libshadow.*a /usr/lib
rm -v /lib/libshadow.so
ln -sfv ../../lib/libshadow.so.0 /usr/lib/libshadow.so</userinput></screen> -->

  </sect2>

  <sect2 id="conf-shadow" role="configuration">
    <title>Configuration de Shadow</title>

    <indexterm zone="conf-shadow">
      <primary sortas="a-Shadow">Shadow</primary>
      <secondary>configuration</secondary>
    </indexterm>

    <para>Ce paquet contient des outils pour ajouter, modifier,
    supprimer des utilisateurs et des groupes, initialiser et changer
    leur mots de
    passe, et bien d'autres tâches administratives. Pour une explication
    complète de ce que signifie <emphasis>password shadowing</emphasis>, jetez un
    &oelig;il dans le fichier <filename>doc/HOWTO</filename> à l'intérieur du
    répertoire source. Il reste une chose à garder à l'esprit si vous
    décidez d'utiliser le support de Shadow&nbsp;: les programmes qui
    ont besoin de vérifier les mots de passe (gestionnaires d'affichage,
    programmes FTP, démons pop3 et ainsi de suite) ont besoin d'être
    <emphasis>compatibles avec shadow</emphasis>, c'est-à-dire qu'ils ont
    besoin d'être capables de fonctionner avec des mots de passe
    shadow.</para>

    <para>Pour activer les mots de passe shadow, lancez la
    commande suivante&nbsp;:</para>

<screen><userinput>pwconv</userinput></screen>

    <para>Pour activer les mots de passe shadow pour les groupes,

    lancez&nbsp;:</para>

<screen><userinput>grpconv</userinput></screen>

    <para>La configuration fournie avec Shadow pour l'outil présente quelques
    inconvénients qui appellent quelques explications. D'abord, l'action par
    défaut de l'outil <command>useradd</command> est de créer un utilisateur
    et un groupe du même nom que l'utilisateur. Par défaut les numéros d''ID
    utilisateur (UID) et d'ID de groupe (GID) commenceront a 1000. Cela signifie
    que si vous ne passez pas de paramètres à <command>useradd</command>, chaque
    utilisateur sera membre d'un groupe unique sur le système. Si vous ne désirez
    pas ce comportement, vous devrez passer le paramètre <parameter>-g</parameter>
    à <command>useradd</command>. Les paramètres par défaut sont stockés dans
    fichier <filename>/etc/default/useradd</filename>. Il se peut que vous
    deviez modifier deux paramètres dans ce fichier pour satisfaire vos
    besoins particuliers.</para>
   
    <variablelist>
      <title><filename>/etc/default/useradd</filename> Explication de parametres</title>
      <varlistentry>
      <term><parameter>GROUP=1000</parameter></term>
        <listitem>
          <para>Ce paramètre initialise le début des numéros de groupe utilisés
          dans le fichier /etc/group. Vous pouvez le modifier avec ce que vous
          désirez. Remarquez que <command>useradd</command> ne réutilisera jamais un
          UID ou un GID. Si le numéro identifié dans ce paramètre est utilisé,
          il utilisera le numéro disponible suivant celui-ci. Remarquez aussi que
          si vous n'avez pas de groupe 1000 sur votre système la première fois
          que vous utilisez <command>useradd</command> sans le paramètre
          <parameter>-g</parameter>, vous obtiendrez un message sur le terminal
          qui dit&nbsp;:
          <computeroutput>useradd: unknown GID 1000</computeroutput>. Vous
          pouvez passer ce message et le numéro de groupe 1000 sera utilisé.</para>
          </listitem>
        </varlistentry>
        <varlistentry>
          <term><parameter>CREATE_MAIL_SPOOL=yes</parameter></term>
          <listitem>
            <para>Il résulte de ce paramètre que <command>useradd</command>
            crée un fichier de boîte mail pour le nouvel utilisateur créé.
            <command>useradd</command> rendra le groupe
            <systemitem class="groupname">mail</systemitem> propriétaire de ce
            fichier avec les droits 0660. Si vous préféreriez que
            <command>useradd</command> ne crée pas ces fichiers de boîte mail,
            lancez la commande suivante&nbsp;:</para>
           
<screen><userinput>sed -i 's/yes/no/' /etc/default/useradd</userinput></screen>
          </listitem>
        </varlistentry>
      </variablelist>

  </sect2>

  <sect2 role="configuration">
    <title>Configurer le mot de passe de root</title>

    <para>Choisissez un mot de passe pour l'utilisateur
    <emphasis>root</emphasis> et configurez-le avec&nbsp;:</para>

<screen role="nodump"><userinput>passwd root</userinput></screen>

  </sect2>

  <sect2 id="contents-shadow" role="content">
    <title>Contenu de Shadow</title>

    <segmentedlist>
      <segtitle>Programmes installés</segtitle>
      <segtitle>Répertoire installé</segtitle>

      <seglistitem>
        <seg>chage, chfn, chgpasswd, chpasswd, chsh, expiry, faillog, gpasswd,
        groupadd, groupdel, groupmems, groupmod, grpck, grpconv, grpunconv,
        lastlog, login, logoutd, newgrp, newusers, nologin, passwd, pwck,
        pwconv, pwunconv, sg (lien vers newgrp), su, useradd, userdel, usermod,
        vigr (lien vers vipw) et vipw</seg>
        <seg>/etc/default</seg>
      </seglistitem>
    </segmentedlist>

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

      <varlistentry id="chage">
        <term><command>chage</command></term>
        <listitem>
          <para>Utilisé pour modifier le nombre maximum de jours entre des
          modifications obligatoires du mot de passe</para>
          <indexterm zone="ch-system-shadow chage">
            <primary sortas="b-chage">chage</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="chfn">
        <term><command>chfn</command></term>
        <listitem>
          <para>Utilisé pour modifier le nom complet de l'utilisateur et quelques autres
          informations</para>
          <indexterm zone="ch-system-shadow chfn">
            <primary sortas="b-chfn">chfn</primary>
          </indexterm>
        </listitem>
      </varlistentry>
     
      <varlistentry id="chgpasswd">
        <term><command>chgpasswd</command></term>
        <listitem>
          <para>Utilisé pour mettre à jour des mots de passe en mode ligne
          de commande (batch)</para>
          <indexterm zone="ch-system-shadow chgpasswd">
            <primary sortas="b-chgpasswd">chgpasswd</primary>
          </indexterm>
         </listitem>
       </varlistentry>
       
       <varlistentry id="chpasswd">
         <term><command>chpasswd</command></term>
         <listitem>
           <para>Utilisée pour mettre à jour les mots de passe utilisateur en
           ligne de commande</para>
           <indexterm zone="ch-system-shadow chpasswd">
             <primary sortas="b-chpasswd">chpasswd</primary>
           </indexterm>
         </listitem>
       </varlistentry>

      <varlistentry id="chsh">
        <term><command>chsh</command></term>
        <listitem>
          <para>Utilisé pour modifier le shell de connexion par défaut d'un
          utilisateur</para>
          <indexterm zone="ch-system-shadow chsh">
            <primary sortas="b-chsh">chsh</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="expiry">
        <term><command>expiry</command></term>
        <listitem>
          <para>Vérifie et renforce la politique d'expiration des mots de passe</para>
          <indexterm zone="ch-system-shadow expiry">
            <primary sortas="b-expiry">expiry</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="faillog">
        <term><command>faillog</command></term>
        <listitem>
          <para>Est utilisé pour examiner les traces d'échecs de connexions, pour
          configurer le nombre maximum d'échecs avant qu'un compte ne soit bloqué ou pour
          réinitialiser le nombre d'échecs</para>
          <indexterm zone="ch-system-shadow faillog">
            <primary sortas="b-faillog">faillog</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="gpasswd">
        <term><command>gpasswd</command></term>
        <listitem>
          <para>Est utilisé pour ajouter et supprimer des membres et des administrateurs
          aux groupes</para>
          <indexterm zone="ch-system-shadow gpasswd">
            <primary sortas="b-gpasswd">gpasswd</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="groupadd">
        <term><command>groupadd</command></term>
        <listitem>
          <para>Crée un groupe avec le nom donné</para>
          <indexterm zone="ch-system-shadow groupadd">
            <primary sortas="b-groupadd">groupadd</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="groupdel">
        <term><command>groupdel</command></term>
        <listitem>
          <para>Supprime le groupe ayant le nom donné</para>
          <indexterm zone="ch-system-shadow groupdel">
            <primary sortas="b-groupdel">groupdel</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="groupmems">
        <term><command>groupmems</command></term>
        <listitem>
          <para>Permet à un utilisateur d'administrer la liste des membres de
          son groupe sans avoir besoin des privilèges du super utilisateur</para>
          <indexterm zone="ch-system-shadow groupmems">
            <primary sortas="b-groupmems">groupmems</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="groupmod">
        <term><command>groupmod</command></term>
        <listitem>
          <para>Est utilisé pour modifier le nom ou le GID du groupe</para>
          <indexterm zone="ch-system-shadow groupmod">
            <primary sortas="b-groupmod">groupmod</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="grpck">
        <term><command>grpck</command></term>
        <listitem>
          <para>Vérifie l'intégrité des fichiers
          <filename>/etc/group</filename> et
          <filename>/etc/gshadow</filename></para>
          <indexterm zone="ch-system-shadow grpck">
            <primary sortas="b-grpck">grpck</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="grpconv">
        <term><command>grpconv</command></term>
        <listitem>
          <para>Crée ou met à jour le fichier shadow à partir du fichier group
          standard</para>
          <indexterm zone="ch-system-shadow grpconv">
            <primary sortas="b-grpconv">grpconv</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="grpunconv">
        <term><command>grpunconv</command></term>
        <listitem>
          <para>Met à jour <filename>/etc/group</filename> à partir de
          <filename>/etc/gshadow</filename> puis supprime ce dernier</para>
          <indexterm zone="ch-system-shadow grpunconv">
            <primary sortas="b-grpunconv">grpunconv</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="lastlog">
        <term><command>lastlog</command></term>
        <listitem>
          <para>Indique les connexions les plus récentes de tous les utilisateurs ou d'un
          utilisateur donné</para>
          <indexterm zone="ch-system-shadow lastlog">
            <primary sortas="b-lastlog">lastlog</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="login">
        <term><command>login</command></term>
        <listitem>
          <para>Est utilisé par le système pour permettre aux utilisateurs de se
          connecter</para>
          <indexterm zone="ch-system-shadow login">
            <primary sortas="b-login">login</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="logoutd">
        <term><command>logoutd</command></term>
        <listitem>
          <para>Est un démon utilisé pour renforcer les restrictions sur les temps et
          ports de connexion</para>
          <indexterm zone="ch-system-shadow logoutd">
            <primary sortas="b-logoutd">logoutd</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="newgrp">
        <term><command>newgrp</command></term>
        <listitem>
          <para>Est utilisé pour modifier le GID courant pendant une session de
          connexion</para>
          <indexterm zone="ch-system-shadow newgrp">
            <primary sortas="b-newgrp">newgrp</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="newusers">
        <term><command>newusers</command></term>
        <listitem>
          <para>Est utilisé pour créer ou mettre à jour toute une série de comptes
          utilisateur en une fois</para>
          <indexterm zone="ch-system-shadow newusers">
            <primary sortas="b-newusers">newusers</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="nologin">
        <term><command>nologin</command></term>
        <listitem>
          <para>Affiche un message selon lequel un compte n'est pas disponible.
          Destiné à être utilisé comme shell par défaut pour des comptes qui
          ont été désactivés</para>
          <indexterm zone="ch-system-shadow nologin">
            <primary sortas="b-nologin">nologin</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="passwd">
        <term><command>passwd</command></term>
        <listitem>
          <para>Est utilisé pour modifier le mot de passe d'un utilisateur ou d'un
          groupe</para>
          <indexterm zone="ch-system-shadow passwd">
            <primary sortas="b-passwd">passwd</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="pwck">
        <term><command>pwck</command></term>
        <listitem>
          <para>Vérifie l'intégrité des fichiers de mots de passe,
          <filename>/etc/passwd</filename> et
          <filename>/etc/shadow</filename></para>
          <indexterm zone="ch-system-shadow pwck">
            <primary sortas="b-pwck">pwck</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="pwconv">
        <term><command>pwconv</command></term>
        <listitem>
          <para>Crée ou met à jour le fichier de mots de passe shadow à partir du fichier
          password habituel</para>
          <indexterm zone="ch-system-shadow pwconv">
            <primary sortas="b-pwconv">pwconv</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="pwunconv">
        <term><command>pwunconv</command></term>
        <listitem>
          <para>Met à jour <filename>/etc/passwd</filename> à partir de
          <filename>/etc/shadow</filename> puis supprime ce dernier</para>
          <indexterm zone="ch-system-shadow pwunconv">
            <primary sortas="b-pwunconv">pwunconv</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="sg">
        <term><command>sg</command></term>
        <listitem>
          <para>Exécute une commande donnée lors de
          l'initialisation du GID de l'utilisateur à un groupe donné</para>
          <indexterm zone="ch-system-shadow sg">
            <primary sortas="b-sg">sg</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="su">
        <term><command>su</command></term>
        <listitem>
          <para>Lance un shell en substituant les ID de l'utilisateur et du
          groupe</para>
          <indexterm zone="ch-system-shadow su">
            <primary sortas="b-su">su</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="useradd">
        <term><command>useradd</command></term>
        <listitem>
          <para>Crée un nouvel utilisateur avec le nom donné ou met à jour les
          informations par défaut du nouvel utilisateur</para>
          <indexterm zone="ch-system-shadow useradd">
            <primary sortas="b-useradd">useradd</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="userdel">
        <term><command>userdel</command></term>
        <listitem>

          <para>Supprime le compte utilisateur indiqué</para>
          <indexterm zone="ch-system-shadow userdel">
            <primary sortas="b-userdel">userdel</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="usermod">
        <term><command>usermod</command></term>
        <listitem>
          <para>Est utilisé pour modifier le nom de connexion de l'utilisateur, son UID
          (<foreignphrase>User Identification</foreignphrase>, soit Identification
          Utilisateur), shell, groupe initial, répertoire personnel et ainsi de
          suite</para>
          <indexterm zone="ch-system-shadow usermod">
            <primary sortas="b-usermod">usermod</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="vigr">
        <term><command>vigr</command></term>
        <listitem>
          <para>Édite les fichiers <filename>/etc/group</filename> ou
          <filename>/etc/gshadow</filename></para>
          <indexterm zone="ch-system-shadow vigr">
            <primary sortas="b-vigr">vigr</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="vipw">
        <term><command>vipw</command></term>
        <listitem>
          <para>Édite les fichiers <filename>/etc/passwd</filename> ou
          <filename>/etc/shadow</filename></para>
          <indexterm zone="ch-system-shadow vipw">
            <primary sortas="b-vipw">vipw</primary>
          </indexterm>
        </listitem>
      </varlistentry>
    </variablelist>

  </sect2>

</sect1>