Yacoubi Mohamed - Mot-clé - useradd unknown group2023-02-13T14:54:31+01:00Yacoubi Mohamedurn:md5:eacabd43d1ec1439188ee60076d41b1eDotclearuseradd unknown groupurn:md5:7ddbbd79662478d1f6cdb2ece23ae1b52010-04-24T21:25:00+02:002010-04-24T21:06:01+02:00Mohamed YACOUBIGentooclusteremergeGentooinfogérancelinuxuseradd unknown group <p><img src="https://blog.yacoubi.fr/public/Logo/.gentoo-logo_s.jpg" alt="gentoo-logo" style="display:block; margin:0 auto;" title="gentoo-logo, avr. 2010" />
<br /></p>
<ol>
<li><ins>Contexte :</ins></li>
</ol>
<p>Il s'agit d'un serveur sous <strong>Gentoo Linux</strong> hébergeant des milliers de comptes (1520 précisément).</p>
<pre class="bash">srv1 ~ <span style="color: #808080; font-style: italic;"># equery l sys-apps/shadow</span>
<span style="color: #7a0874; font-weight: bold;">[</span> Searching <span style="color: #000000; font-weight: bold;">for</span> package <span style="color: #ff0000;">'shadow'</span> <span style="color: #000000; font-weight: bold;">in</span> all categories among: <span style="color: #7a0874; font-weight: bold;">]</span>
<span style="color: #000000; font-weight: bold;">*</span> installed packages
<span style="color: #7a0874; font-weight: bold;">[</span>I--<span style="color: #7a0874; font-weight: bold;">]</span> <span style="color: #7a0874; font-weight: bold;">[</span> <span style="color: #7a0874; font-weight: bold;">]</span> sys-apps<span style="color: #000000; font-weight: bold;">/</span>shadow<span style="color: #000000;">-4.0</span><span style="color: #000000;">.18</span><span style="color: #000000;">.2</span> <span style="color: #7a0874; font-weight: bold;">(</span><span style="color: #000000;">0</span><span style="color: #7a0874; font-weight: bold;">)</span></pre>
<ol>
<li><ins>Problème :</ins></li>
</ol>
<p>Lors de la création de nouveau compte :</p>
<pre class="bash">srv1 ~ <span style="color: #808080; font-style: italic;"># /usr/sbin/useradd -m -d /ftps/XXXX/XX/xx15000 -s /bin/false -gusers -u 15000 xx15000</span>
useradd: unknown group <span style="color: #c20cb9; font-weight: bold;">users</span></pre>
<ol>
<li><ins>Résolution :</ins></li>
</ol>
<p>Tout d'abord je crée un utilisateur pour l'ajouter manuellement dans le groupe <q>users</q>.</p>
<pre>
srv1 ~ # /usr/sbin/useradd -m -d /ftps/XXXX/XX/xx15000 -s /bin/false -u 15000 xx15000
srv1 ~ # gpasswd -a xx15000 users
Ajout de l'utilisateur xx15000 au groupe users
</pre>
<p>Le problème ne viens pas donc du groupe (<strong>/etc/group</strong> corrompu par exemple).
<br />
<br />
Je procède ensuite à la mise à jour de <q>shadow</q> vers la dernière version.</p>
<pre>
sys-apps/shadow-4.1.2.2 [4.0.18.2]
</pre>
<p>Ayant constaté lors de la mise à jour l'ajout d'une option dans le fichier <strong>/etc/login.defs</strong> (qui définit la configuration de <q>shadow</q> pour le système), je m'y intéresse.</p>
<pre class="text">#MAX_MEMBERS_PER_GROUP 0</pre>
<p>Cette option définie le nombre maximum de membres par entrée de groupe.
<br />
Lorsque le maximum est atteint, une nouvelle entrée de groupe (ligne) est démarrée dans <strong>/etc/group</strong> (avec le même nom, même mot de passe et même GID).
<br />
Cette fonctionnalité (groupe découpé) permet de limiter la longueur des lignes dans le fichier de groupes.
<br />
<br />
Je décide donc d'utiliser cette option (avec mes 1520 utilisateurs la ligne correspondant au groupe <q>users</q> fait 10301 caractères).</p>
<pre class="text">MAX_MEMBERS_PER_GROUP 150</pre>
<p>Je régénère mon fichier <strong>/etc/group</strong>.</p>
<pre class="bash"><span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>sbin<span style="color: #000000; font-weight: bold;">/</span>grpconv</pre>
<p>Le fait de limiter la longueur des lignes à 150 utilisateurs a résolu le problème.
<br />
<br />
J'ai effectué un test avec une limitation à 25 utilisateurs, un segfault est alors renvoyé à chaque tentative de création d'utilisateur, je pense donc que je serai confronté dans les prochains mois à un nouveau problème <q>Quelles seront les limitations exacte avec /etc/group ?</q>.</p>