Chgrp

SAlut a tous, en fait j'aimerai a pprendre a changer de groupe d'utilisateur sous UNIX avec la commande "chgrp", quun peut m'aider, je comprends pas bien la syntaxe...
merci
Kurt

26 réponses

  • Votes
  • Date
  • Date décroissante
Résumé de la discussion

La discussion porte sur changer de groupe d'utilisateur sous UNIX et sur la syntaxe de la commande chgrp, afin de comprendre quand et comment modifier les droits. Plusieurs échanges portent sur des cas concrets autour de répertoires comme /home/bidou, avec des erreurs liées à la localisation et des conseils contradictoires sur suppression ou modification. D'autres réponses proposent d'utiliser des commandes utiles comme id pour vérifier les groupes et usermod pour ajouter un utilisateur à un groupe, plutôt que de toucher aux fichiers système. Certaines observations rappellent que les notions d'appartenance dépendent aussi des fichiers /etc/passwd et /etc/group et que la validation passe par l'inspection des groupes plutôt que par des suppressions.

Bobot (l’IA à votre service)
  1. Modérateur
    $ man chgrp
    $ chgrp lenouveaugroupe lefichier
    $ chgrp -R lenouveaugroupe lerepertoireetsesfichiers

    Tu peux aussi changer les groupes avec chown (et l'utilisateur en prime)
    $ chown login:groupe fichier
    $ chown -R login:groupe lerepertoireetsesfichiers
    1. Oui mais en fait , c'est pas pr changer mes fichiers de groupe,
      en fait, ToTo ds le groupe admin , et jaimerai le mettre ds un nouveau groupe apelé ESSAI
      comment créer un nuveau groupe et comment faire cette manip svp ?
      je dois me mttre en root ?
      merci
      kurt
  2. Contributeur
    Salut,

    regarde du coté de addgroup

    $ man addgroup

    addgroup --system [options] [--gid ID] groupe

    ---
    lu dans le man de adduser :
    Ajouter un groupe d'utilisateur
    Si adduser est appelé avec l'option --group et sans l'option --system , ou si addgroup est appelé respectivement, un groupe d'utilisateur sera ajouté.

    Un GID sera choisi depuis la gamme spécifiée pour les UIDS des utilisateurs du fichier de configuration. Le GID peut être modifié avec l'option --gid Le groupe est créé sans utilisateurs.

    Et pour info, oui il te faut être root
    1. Modérateur
      Tu peux aussi le créer à la mano dans le fichier /etc/group si tu n'as pas la commande addgroup.

      Exemple :

      wheel::10:root

      Fabrique le groupe wheel de gid=100 (group identifiant). Les membres du groupe root sont inclus dans wheel.

      Attention le gid doit être unique pour chaque groupe. Par convention, plus le gid est élevé moins le groupe à de droits.

      Il faut naturellement être root (tape "su -" pour passer root) pour faire cette modif (comme à chaque fois que tu administres ta machine que ce soit pour le matos ou les fichiers de conf).
      1. Re...Ok, je vois a peu pres ce que vous voulez dire, mais je bébute en commandes sur UNIX alors, faut aller doucement...
        En fait, je vous explque.
        Qd j'allume mon pc, il me demande de loguer :
        Login : Admin
        Pass : *********
        ensuite je tape :
        $ su -
        là je passe en root (il me demande le pass)

        Je souhaites deja connaitre le nom de mon groupe. Je tape "id" ? qd je fai ca, il me di :

        uid=0(root) gid=0(root) groupes=0(root) ...

        j'en conclus que mon nom de groupe est root losrque je suis en root ...jusque la j'ai bon ?

        maintenant, j'aimerai savoir dans quel groupe, "admin" se situe t-il...quelle est la commande ?
        Merci
        Kurt
        1. Contributeur
          maintenant, j'aimerai savoir dans quel groupe, "admin" se situe t-il...quelle est la commande ?

          et si tu essaies de taper "id" sous le compte Admin pour voir ;)

      2. Modérateur
        [...]
        j'en conclus que mon nom de groupe est root losrque je suis en root ...jusque la j'ai bon ?

        Oui :)

        maintenant, j'aimerai savoir dans quel groupe, "admin" se situe t-il...quelle est la commande ?

        Chez moi ce groupe s'appelle adm mais peu importe...
        # cat /etc/group | grep adm
        sys::3:root,bin,adm
        adm::4:root,adm,daemon
        disk::6:root,adm

        Donc ici, les adm sont aussi des "sys" et des "disk"
        1. Modérateur
          Salut,

          Les solutions sont nombreuse. En voici 2 :
          cat /etc/passwd | grep admin
          Sinon quand t'es logué "admin", tu tapes :
          id
          ;-))
          1. Ok , mon groupe est Admin...

            J'ai fais cette commande :

            [root@localhost ~]# groupadd -g 321 admin1
            [root@localhost ~]#

            (étant connecté en root)
            ce que j'ai fait veut -il dire que j'ai crée un autre groupe ? si oui, ou se trouve t-il ? comment dois je faire pour le trouver ?
            merci pour ton aide
            kurt
            1. Modérateur
              Ben comme d'hab pour vérifier s'il est créé :
              # cat /etc/group | grep admin1
              1. Ola la !! je suis perdu,
                j' ai fais :
                # cat /etc/group | grep admin1

                il ma affiché :
                admin1:x:321:

                OK, ce que je veux savoir , c'est de connaitre l'emplacement de chaque groupe sur le pc ... J'ai trop du mal, j'en suis sincerement navré....
                1. Ok, en regardant ds /etc/group
                  je vois figurer , les 3 noms que j'avais rentré :
                  root, admin, et admin1 , + d'autre....internes a la machine ?

                  mais ya plusieurs choses que je ne comprends pas :

                  je voulais a la base tester les droits d'acces au fichier avec
                  chmod 777 test etc...

                  et je voulais me connecter sous un autre utilisteur d'un groupe que j'allais creer...

                  qd je met :
                  # chmod -rwxr-x--- nom_fichier

                  normalement, le U (user a droi déxécuter, de lire et d'écrire dessus )
                  le G (group a droit d'execution et de lecture )
                  et le O (others ) n'a aucun droit

                  J'ai fais cette manip avec "chmod" logué sous Root

                  je voulais crée un utilisateur dun groupe pr qu'il ai droit d'acces a ce fichier en ( x et r )

                  et ensuite créer un utiliosateur , appartenant au O (others) n'ayant aucun droit sur ce fichier...
                  Je sais que cela est inutile, mais c'est en testant qu'on apprends , n'est-ce pas ?
                  Aidez moi s'il vous plait...
                  Merci
                  Kurt
                  1. Modérateur
                    Ok, en regardant ds /etc/group
                    je vois figurer , les 3 noms que j'avais rentré :
                    root, admin, et admin1 , + d'autre....internes a la machine ?


                    Ben euh propres à ton config quoi :o) Tu mets les groupes que tu veux ;)

                    mais ya plusieurs choses que je ne comprends pas :

                    je voulais a la base tester les droits d'acces au fichier avec
                    chmod 777 test etc...


                    Ca ça active les droits pour tout le monde (read (4), write (2), execute (1) --> 7=4+2+1 donc tu mets tous les droits) dans cet ordre :
                    1) le propriétaire,
                    2) le groupe
                    3) tout le monde

                    et je voulais me connecter sous un autre utilisteur d'un groupe que j'allais creer...

                    qd je met :
                    # chmod -rwxr-x--- nom_fichier


                    Perso je tape :
                    $ chmod 750 tonfichier

                    normalement, le U (user a droi déxécuter, de lire et d'écrire dessus )
                    le G (group a droit d'execution et de lecture )
                    et le O (others ) n'a aucun droit


                    oui

                    J'ai fais cette manip avec "chmod" logué sous Root

                    je voulais crée un utilisateur dun groupe pr qu'il ai droit d'acces a ce fichier en ( x et r ) et ensuite créer un utiliosateur , appartenant au O (others) n'ayant aucun droit sur ce fichier...

                    Ben :
                    1) Crée ce groupe (addgroup | fichier associé : /etc/group)
                    2) Crée cet utilisateur (adduser | fichier associé /etc/passwd et /etc/shadow)
                    3) Change les droits de ton fichier : chown utilsateur:groupe tonfichier

                    Note que quelque soient les droits, root pourra toujours tout faire ainsi que le propriétaire de ce fichier.
                    1. (addgroup | fichier associé : /etc/group )

                      en fait c'est ca que je comprends pas , pourquoi doit on utiliser un fichier ?
                      et c'est quoi ce fichier ?
                      1. Contributeur
                        Sous Linux/Unix TOUT est fichier !

                        les droits des utilisateurs/groupes sont écrit dans un fichier (/etc/group), les mot de passes sont écrit dans un fichier (/etc/passwd), etc

                        une bonne lecture de ce tuto te serai bénéfique :)
                        http://www.delafond.org/survielinux/
                    2. Ok , j'ai un peu mieux compris , ca rentre ds le crâne a force...lol
                      J'ai un petit probleme maintenant, j'étai sur root, j'ai crée un utilistauer "lionel"

                      jusque la pa de pb...

                      j'utilise la commande : # passwd lionel
                      il m'affiche :

                      Changing password for user lionel.
                      New UNIX password:
                      Retype new UNIX password:
                      passwd: all authentication tokens updated successfully.
                      tout devrait etre bon...

                      je tape :
                      Ctrl + D, pour revenir en mode utilisateur ( admin pour moi )
                      dc j'ai :
                      [root@localhost ~]$

                      la je tape :

                      [root@localhost ~]$ login
                      login: lionel
                      Password:

                      Problème d'initialisation de la session, abandon.
                      [admin@localhost ~]$

                      ...
                      je rentre pourtant le meme password...

                      qd je fais :

                      [admin@localhost ~]$ cat /etc/passwd

                      il me marque :
                      admin:x:500:500:Steeve:/home/admin:/bin/bash
                      lionel:x:65:501::/home/lionel:/bin/bash

                      ou voi que mon mot de passe est steeve sur admin , et que lionel n'en a pas !!
                      Pourquoi ?
                      Kurt
                      1. Modérateur
                        Re-

                        il me marque :
                        admin:x:500:500:Steeve:/home/admin:/bin/bash
                        lionel:x:65:501::/home/lionel:/bin/bash

                        où on voit que mon mot de passe est steeve sur admin , et que lionel n'en a pas !!
                        Pourquoi ?

                        Non, tu te plantes complet là !!!
                        Le mot de passe en fait c'est le "x" entre l'identifiant (login) et l'UID (ce qui veut dire qu'il est caché et qu'en fait il est définit dans "/etc/shadow"). Le "Steeve" est en fait ton nom/prénom que tu as du définir pour le login admin, et j'en déduis que tu n'en as pas définit pour "lionel" (le fait que le champ est vide (::).

                        PS. Tu peux changer de mot de passe pour "admin", tout le monde sait maintenant que c'est "Steeve" ;-DDDDDDDDD
                    3. Contributeur
                      quand tu es là
                      [root@localhost ~]$
                      tu fais CLT + D

                      puis tu tapes : lionel
                      password : le mot de passe que tu as mis à la création du compte

                      normalement tu devrais etre logguer avec lionel
                      1. [root@localhost ~]$ login
                        login: lionel
                        Password:

                        Problème d'initialisation de la session, abandon.
                        [admin@localhost ~]$

                        Non il me marque ca, justement !!!
                        1. Modérateur
                          je tape :
                          Ctrl + D, pour revenir en mode utilisateur ( admin pour moi )
                          dc j'ai :
                          [root@localhost ~]$


                          Ca c'est justement PAS le mode utilisateur puisque t'es root.

                          Quand tu tapes login puis lionel il faut naturellement mettre le mdp de lionel.

                          Tu peux aussi faire un :
                          $ su - lionel

                          Les fichiers /etc/groupe /etc/passwd et /etc/shadow sont corrigés par les commandes adduser et addgroup. C'est commandes sont juste plus conviviales qu'éditer le fichier directement.

                          Pour changer le mdp d'un utilisateur il faut soit être cet utilisateur ou root. Pour supprimer un mdp il suffit de supprimer le x à la ligne correspondante dans /etc/passwd (qui indique que le mot de passe est stocké en crypté dans /etc/shadow).
                          1. Merci a tous, j'ai enfin un peu mieux compris , j'ai enfin réussi a créer mes utilisateurs , ainsi que leur mots de passes, mais j'ai un dernier soucis...
                            Qd je fais :
                            [root@localhost ~]# userdel nom_d'utilsateur

                            cela a l'air de bien fonctionner...

                            malgré tout , losrque je vais ds le repertoire : /home/nom_du_groupe/
                            je vois qd meme cette utilisaeur, mais je ne peux plus me loguer sous son nom...il me dit que nom_d'utilsateur n'existe pas ...COmment faire pour supprimmer definitivement un utilisateur...??
                            1. Modérateur
                              Les groupes n'ont pas de compte. Seuls les utilisateus en ont !! Dans /home tu as donc a priori un répertoire par utilisateur.

                              Il n'est pas supprimé car les fichiers sont susceptibles d'être sauvegardés par le root et remis à cet utilisateur sur un cd (ce sont ses fichiers après tout il a peut être envie de les garder !).

                              Pour les supprimer :
                              # cd /home
                              # rm -rf lecomteasupprimer
                              1. " Dans /home tu as donc a priori un répertoire par utilisateur."

                                oui...c'est exact..

                                En fait j'ai 3 utilisateurs...

                                qd je me connecte a la machine o démarrage , mon login est admin...
                                dc je me logue dessus.

                                Ensuite j'ai crée un utilisateur "bidou" et "lionel", qui aparaissent ainsi que admin dans /home

                                J'ai donc fais :
                                [root@localhost ~]# rm -rf bidou
                                [root@localhost ~]# ls -l /home/
                                total 24
                                drwx------ 25 admin admin 4096 mai 27 13:51 admin
                                drwxrwxrwx 2 501 502 4096 mai 27 10:12 bidou
                                drwxrwxrwx 2 65 501 4096 mai 27 09:35 lionel
                                [root@localhost ~]#

                                pourtant rien ne semble s'etre passé ...prquoi...
                                faut qu'on m'explique...
                                merci mami ;-)
                                • 1
                                • 2