Forum Programmation.shell Groupadd sans majuscule ?

Posté par  .
Étiquettes :
0
1
oct.
2004
Bonjour à tous,

Pouvez-vous me dire pourquoi il n'est plus possible de mettre des majuscules dans un nom de groupe sous une fedora ou une mandrake 10.x ?

Il y a encore peu (mandrake 9.0), il était possible de mettre
"groupadd Administration" pour avoir son groupe. Ce n'est malheureusement, actuellement, plus possible.

Dans le même registre, pourquoi n'est-il pas possible d'avoir un groupe commençant par un chiffre comme "2nd_Scientifique"

Je ne comprends toujours pas....

Je sais qu'il est possible de passer directement dans le fichier des groupes dans "etc" mais je trouve plus pratique d'utiliser les commandes standards !


merci
JP Martin
  • # PAM ?

    Posté par  . Évalué à 1.

    Regarde du coté de PAM

    Dans /etc/pam.d/groupadd par exemple, moi j'ai :

    #%PAM-1.0

    auth sufficient /lib/security/pam_rootok.so
    auth required /lib/security/pam_permit.so

    account required /lib/security/pam_stack.so service=system-auth

    password required /lib/security/pam_permit.so
    • [^] # Re: PAM ?

      Posté par  . Évalué à 1.

      Est ce que tu peux rajouter un groupe avec un nom en majuscule ?

      Exemple : "groupadd Maison"

      Encore merci
      JP
      • [^] # oups

        Posté par  . Évalué à 1.

        En effet, non...

        Si j'ai la réponse je te tiens au courant
        • [^] # Re: oups

          Posté par  (site web personnel) . Évalué à 1.

          On nous empêcherait maintenant de nous tirer une balle dans le pied !! mon dieu !

          C'est certainement pour éviter d'avoir du support avec le client qui crée un utilisateur "toto" et un utilisateur "Toto" car d'une part on sait tous que toto n'est pas solvable et d'autre part ça pose problème pour les services réseau qui gèrent les utilisateurs sans se soucier de la case (au hasard SMTP ).
          • [^] # Re: oups

            Posté par  . Évalué à 0.

            Pourquoi pas...
            Il pourrait mettre un message d'avertissement !
            Bon, sinon, d'autres idées ?
            JP
            • [^] # Re: oups

              Posté par  . Évalué à 2.

              Oui, une : y'a quand même quelques applis externes à l'OS qui peuvent se baser sur les noms d'utilisateurs/groupes pour gérer les leurs. Exemple : samba, ldap ?, sendmail ? postfix ? postgres ? En vrac...
              Pour samba, je sais qu'il est promordial que les uid/gid correspondent. Pour la casse, j'en suis pas certain à 100%, mais en cherchant "uppercase+groupadd" ou quelque chose d'approchant sur google, il m'a semblé trouver quelques pages allant dans ce sens.
              Sinon, y'a toujours moyen d'en récupérer les sources de cette commande, pour voir comment et/ou pourquoi c'est rejeté.
              Enfin, sur mon BLFS, je n'ai pas pam d'installé, et ça ne fonctionne pas plus que sur les systèmes ayant pam. J'ai essayé de mettre une majustule n'importe où san ssuccès :
              groupadd Toto
              groupadd tOto

              Rien de tout ça ne passe. Si jamais ça fait avancer le schmillblick...
              • [^] # Ce n'est pas PAM

                Posté par  . Évalué à 1.

                j'm'a trompé !!!
                
                Mais en effet ce doit être au niveau de la définition de groupadd du package shadow...
                
                un peu de recherche et hop !
                
                /libmisc/chkname.c (extrait du package shadow)
                
                static int good_name (const char *name)
                {
                 /*
                  * User/group names must match [a-z_][a-z0-9_-]*
                  */
                 if (!*name || !((*name >= 'a' && *name <= 'z') || *name == '_'))
                  return 0;
                
                 while (*++name) {
                  if (!((*name >= 'a' && *name <= 'z') ||
                        (*name >= '0' && *name <= '9') ||
                        *name == '_' || *name == '-' ||
                        (*name == '$' && *(name + 1) == '\0')))
                   return 0;
                 }
                
                 return 1;
                }
                
                voilou, non tu n'as pas le choix ou tu patch le biniou pour convenir à tes besoins :)
                
                • [^] # Re: Ce n'est pas PAM

                  Posté par  . Évalué à 0.

                  encore merci à tous.
                  Superbe démonstration !
                  Néanmoins, je ne vois pas pourquoi cette limitation.
                  Une chose qui me surpenne, c'est que peu de personne ait remarqué le changement depuis une mandrake 9.x et 10.x !

                  Pourquoi groupadd a besoin de shadow ?
                  Est ce que chaque groupe à un mot de passe ?

                  Sinon, pourquoi cette limitation sur shadow ?

                  On est pas censé être en unicode ?

                  Merci encore à tous !
                  • [^] # Re: Ce n'est pas PAM

                    Posté par  . Évalué à 1.

                    Une autre piste : je ne pense pas que cette limitation soit anodine !
                    Linux, en tant que système multiutilisateurs doit pouvoir communiquer avec d'autres systèmes/os. Il faut bien définir une norme quelque part, sinon c'est la fête du slip à chaque échange. Donc, les noms d'utilisateurs/groupes sont en minuscule, point barre.
                    Comme ça, si quelqu'un arrive sur le système pour danser la samba, monter un partage nfs, faire du ftp, du telnet, peu importe. Pour vérifier l'identité de l'utilisateur, on a juste à passer ce qui a été envoyé en minuscules (au cas où ce gros beauf ait tapé son username en majuscule) (cas, je crois de samba, car winwin ne fait pas la différence : tout est en MAJUSCULE, mouarf !...), et on compare avec nos groupes/usernames définis. C'est ce qui est je pense le plus simple.
                    Pourquoi minuscule plutôt que majuscule ? Aucune idée à part que c'est plus 'naturel' et plus lisible.

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.