Bash création de groupe user et utilisateur

xunil2003 Messages postés 766 Date d'inscription   Statut Membre Dernière intervention   -  
xunil2003 Messages postés 766 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Sous linux pour créer depuis le terminal un utilisateur avec l'UID 501et créer un groupe privé a l'utilisateur avec l'Id du groupe 501
avec l'attribue du shell par défaut,
avec expiration une date du compte utilisateur le 13/09/12
et que le compte soit compatible avec kde et gnome

Quel devra être la commande, je finis par me mélanger les pinceaux et avoir un doute ?
# groupadd toto -g 501        
# useradd toto -u 501 -g 501 -G toto -e 09/13/12 -s /bin/bash -m -k rep-skel -c toto       
#


KDE me dit que le compte est verrouillé ????

Es correct ?
Merci.

10 réponses

  1. mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   7 942
     
    La notion de compte compatible kde ou gnome n'a pas vraiment de sens, useradd ne fait que référencer le compte dans /etc/passwd et créer le home directory (/home/toto par exemple). Quand on lance une application (kde, gnome, ou même n'importe laquelle) celle-ci est susceptible de stocker des informations dans le home, et donc garantir que l'utilisateur peut écrire dans son /home est en soit suffisant.

    Pour la commande en elle-même :

    man useradd


    Tu verras que la syntaxe de la date est incorrecte, ainsi que pour -k. Le reste a l'air correct. Maintenant il faut juste vérifier que l'utilisateur toto n'existe pas déjà, et vérifier que les UID 501 et GID 501 sont pas déjà utilisés.

    Bonne chance
    0
  2. xunil2003 Messages postés 766 Date d'inscription   Statut Membre Dernière intervention   14
     
    Bonsoir,

    J'ai regardé ce tuto
    http://ww2.ac-creteil.fr/reseaux/systemes/linux/comptes-utilisateurs.html

    Pour le format date :
    format date (MM/JJ/AA)donc pour que le compte expire le 13/09/12 je marque 09/13/12

    pour -k il est dit :
    La recopie du répertoire /etc/skel est très important pour l'administrateur, car il lui permet de configurer de façon uniforme les sessions de travail des utilisateurs.
    C'est ainsi que tous les utilisateurs qui passe en mode graphique KDE hérite du même bureau.

    il faut juste vérifier que l'utilisateur toto n'existe pas déjà, et vérifier que les UID 501 et GID 501 sont pas déjà utilisés.
    mais groupadd verifie automatiquement tout comme useradd.

    Exemple
    [root@localhost laurent]# groupadd toto -g 501   
    groupadd : l'identifiant de groupe (GID) « 501 » existe déjà   
    [root@localhost laurent]#   
    
    [root@localhost laurent]# groupadd toto   
    groupadd : le groupe « toto » existe déjà   
    [root@localhost laurent]#   
    
    [root@localhost laurent]# useradd toto -u 501 -g 501 -G toto -e 09/13/12 -s /bin/bash -m -k rep-skel -c toto   
    useradd : l'identifiant d'utilisateur (UID) 501 n'est pas unique   
    [root@localhost laurent]#


    man useradd dit :
    -e, --expiredate DATE_FIN_VALIDIT
    Date à laquelle le compte utilisateur sera désactivé. La date est
    indiquée dans le format AAAA-MM-JJ.

    If not specified, useradd will use the default expiry date
    specified by the EXPIRE variable in /etc/default/useradd, or an
    empty string (no expiry) by default.

    -k, --skelRP_SQUELETTE
    The skeleton directory, which contains files and directories to be
    copied in the users home directory, when the home directory is
    created by useradd.

    Cette option nest valable que si loption -m (ou --create-home) est
    utilisée.

    If this option is not set, the skeleton directory is defined by the
    SKEL variable in /etc/default/useradd or, by default, /etc/skel

    Merci.
    0
  3. mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   7 942
     
    Salut Laurent,

    Si tu lis le man de groupadd tu verras que le format de la date est :

           -e, --expiredate DATE_FIN_VALIDITÉ
               Date à laquelle le compte utilisateur sera désactivé. La date est indiquée dans le format AAAA-MM-JJ.
    
               Si non précisé, useradd utilisera la date d'expiration par défaut précisée par la variable EXPIRE dans /etc/default/useradd ou une chaîne
               vide (pas d'expiration) par défaut.


    Après, peut-être que plusieurs formats sont supportés ou que celui-ci diffère en fonction des locales, de la distribution je n'en sais rien etc... Je ne fais que reporter que ce qui est écrit dans la page de man :-)

    Pour l'option -k on te dit de passer en paramètre un répertoire skelette, donc par exemple /etc/skel et non rep-skel comme tu l'as écrit dans ta première commande, c'est pour ça que j'ai réagi sur ce paramètre dans mon premier messages. De plus, si tu regardes le man, tu verras en plus que ce n'est pas la peine de passer -k /etc/skel vu que c'est le comportement par défaut.

    Pour l'histoire de l'UID et du GID, comme tu le dis fort justement, useradd et groupadd échoueront si ces identifiants sont déjà utilisés, c'était juste une précision que je voulais apporter. En temps normal on évite de passer l'UID et le GID en paramètre. De plus en général on utilise des UID et GID supérieur à 1000 pour des utilisateurs, mais bon, là il faut évidemment suivre les consignes de ton exercice.

    Bonne chance
    0
    1. zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   6 501
       
      Salut mamie,

      De plus en général on utilise des UID et GID supérieur à 1000 pour des utilisateurs, mais bon, là il faut évidemment suivre les consignes de ton exercice.
      Sur Debian (et dérivés) et autres distribs, à part celles basées sur RedHat, comme Mandriva ( et/ou Mageia), ou l'UID et GID débutent à 500 ;-))
      0
    2. mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   7 942
       
      Ha ok zipe31, merci pour la précision.
      0
  4. xunil2003
     
    Bonjour

    Oui c'est un exercice et merci pour votre aide à tous. Oui il est vrai que selon la distribution l'Uid commence à partir de 500 pour Mageia et 1000 pour Debian.
    J'ai plusieurs distribes pour les exercices, y compris sur Virtualbox.

    J'ai donc essayer comme ceci, (j'ai retiré le -k) mais c'est pareil le compte est toujours verrouillé , Kde ne peut pas démarrer le compte utilisateur

    [root@localhost laurent]# groupadd toto -g 501   
    [root@localhost laurent]# useradd toto -u 501 -g 501 -G toto -e 2012-09-16 -s /bin/bash -m  -c toto   
    [root@localhost laurent]#   


    De file en aiguille je me suis rendu compte qu'il n'y avait pas de mot de passe

    [root@localhost laurent]# groupadd toto -g 501   
    [root@localhost laurent]# useradd toto -u 501 -g 501 -G toto -e 2012-09-16 -s /bin/bash -p toto -m  -c toto   
    [root@localhost laurent]#   


    Là le compte fonctionne, le -p c'est pour indiquer le mot de passe

    Merci.
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   7 942
     
    J'en déduis que ton problème est résolu ? Si oui bascule le sujet en tant que tel (voir lien au niveau de ton premier message). Sinon indique-nous ce qu'il reste à voir.
    0
  7. xunil2003 Messages postés 766 Date d'inscription   Statut Membre Dernière intervention   14
     
    Bonjour,

    En faitequand je me suis connecté sur l'utilisateur toto avec KDE, KDE me répondé : Echec de la connection

    En super-utilisateur j'ai fait
    passwd toto

    puis j'ai undiquer le nouveau mot de passe
    Là j'ai pu me connecter sur Kde sans problème sur le compte de toto.

    La question est quand on fait ceci, il n'est pas possible d'intégrer le mot de passe de l'utilisateur
    [root@localhost laurent]# groupadd toto -g 501     
    [root@localhost laurent]# useradd toto -u 501 -g 501 -G toto -e 2012-09-16 -s /bin/bash -p toto -m  -c toto     
    [root@localhost laurent]#

    ensuite il faut immédiatement donner le mot de passe sinon le compte est inaccessible
    # passwd toto


    La commande passwd  
    Elle est chargée du cryptage du mot de passe dans /etc/shadow  
    Syntaxe : passwd [option] nom-login  
    
        --stdin, la commande abandonne son caractère interactif habituel et examine son entrée standard pour s'en servir comme mot de passe.  
        Très utile dans un script : echo mot | passwd --stdin (attention tout caractère est significatif, y compris les " ")  
        -d , pour supprimer le mot de passe, l'utilisateur pourra se connecter sans !  
        -l , pour verrouiller le compte et empêcher sa connexion.  
        -u , pour déverrouiller. 


    Il n'est pas possible d'indiquer directement le mot de passe dans useradd à la création du compte .

    Merci
    0
  8. Utilisateur anonyme
     
    salut,

    man useradd
    -p, --password PASSWORD
    The encrypted password, as returned by crypt(3).[...]

    man -k crypt
    cbc_crypt (3) - fast DES encryption
    crypt (3) - password and data encryption
    crypt_r (3) - password and data encryption
    des_crypt (3) - fast DES encryption
    des_modes (7ssl) - the variants of DES and other crypto algorithms of OpenSSL
    des_setparity (3) - fast DES encryption
    ecb_crypt (3) - fast DES encryption
    encrypt (3) - encrypt 64-bit messages
    encrypt_r (3) - encrypt 64-bit messages
    gpg (1) - OpenPGP encryption and signing tool
    gpg-zip (1) - encrypt or sign files into an archive
    key_decryptsession (3) - interfaces to rpc keyserver daemon
    key_encryptsession (3) - interfaces to rpc keyserver daemon
    memfrob (3) - frobnicate (encrypt) a memory area
    mkpasswd (1) - Overfeatured front end to crypt(3)
    passwd2des (3) - RFS password encryption
    seahorse (1) - Encryption Key Manager
    seahorse-preferences (1) - View and set encryption preferences
    seahorse-tool (1) - PGP/GnuPG file encryption for the GNOME Desktop
    setkey (3) - encrypt 64-bit messages
    setkey_r (3) - encrypt 64-bit messages
    xcrypt (3) - RFS password encryption
    xdecrypt (3) - RFS password encryption
    xencrypt (3) - RFS password encryption

    man mkpasswd
    !
    0
  9. xunil2003 Messages postés 766 Date d'inscription   Statut Membre Dernière intervention   14
     
    Bonjour,

    Pourtant je l'ai bien indiqué -p toto
    [root@localhost laurent]# useradd toto -u 501 -g 501 -G toto -e 2012-09-16 -s /bin/bash -p toto -m  -c toto     
    [root@localhost laurent]#

    c'est ce que je n'ai pas compris

    Configuration: Linux / Firefox 10.0.7
    0
  10. Utilisateur anonyme
     
    username="toto"
    userpwd=$(mkpasswd -m MD5 "$username")
    useradd toto -u 501 -g 501 -G toto -e 2012-09-16 -s /bin/bash -p "$userpwd" -m  -c toto
    0
  11. xunil2003 Messages postés 766 Date d'inscription   Statut Membre Dernière intervention   14
     
    Bonjour,

    Vous voulez dire que par défault l'option "-p toto " de useradd ne crypt pas le mot de passe, si je comprends bien.

    Ensuite j'ai décrit l'utilisateur comme l'exercice,
    [laurent@localhost ~]$ su toto  
    Mot de passe :  
    [toto@localhost laurent]$ chfn  
    Modification des renseignements finger pour toto.  
    Mot de passe :  
    Name [toto]: nom complet  
    Office []: son bureau  
    Office Phone []: telephone bureau  
    Home Phone []: telephone perso  
    
    Finger information changed.  
    [toto@localhost laurent]$


    Pour avoir les informations de l'utilisateur y a-t-il une commande spécifique ou faut il faire un truc du genre, car il n'en parle pas :
    [toto@localhost laurent]$ cat -n /etc/passwd | grep toto  
        35  toto:x:501:501:nom complet,son bureau,telephone bureau,telephone perso:/home/toto:/bin/bash  
    [toto@localhost laurent]$


    Merci.
    0