Forum Linux.débutant Permission sur des utilisateurs spécifiques

Posté par  . Licence CC By‑SA.
-1
1
fév.
2016

Bonsoir à tout le monde !!!
Je viens vers vous pour vous solliciter,
je travail sous debian et j'aimerais octroyer des permissions à des utilisateurs dans un groupe spécifique donc je vous explique c'est que je veux pour plus de compréhension:

j'ai crée 2 groupes, un groupe stagiaires et l'autre groupe chefprojets
maintenant les utilisateurs se trouvant dans le groupe stagiaires auront juste comme possibilité de lire et ecrire pas plus !!
et les utilisateurs se trouvant dans le groupe chefprojets ont le droit de lire ecrire et exécuté

NB: J'avais dejà fait une modification dans le fichier /etc/sudoers j'ai ajouté ceci:

%stagiaires ALL=NOPASSWD: /usr/bin/vim
%chefprojets ALL=NOPASSWD: /usr/bin/vim, /bin/cp, /bin/mkdir, /bin/mv, /bin/rm, /usr/bin/scp

Bizarrement les premiers jours ça avait marché mais maintenant sa ne marche plus si je me connecte un compte stagiaire j'essaye d'inséré on m'affiche ceci:

-- INSERTION—W10: Alerte : Modification d'un fichier en lecture seule

Je pourais inséré mais l'enregistrement est impossibles et voici le resultat

E45: L'option 'readonly' est activée (ajoutez ! pour passer outre)

Donc ce mon problème je vous demande de l'aide merci.

  • # houla houla

    Posté par  . Évalué à 4.

    pourquoi tes stagiaires devraient avoir le droit de lire/ecrire des fichiers en tant que ROOT (c'est le but de sudo)
    alors qu'une gestion classique des droits pourraient suffire ?

    un chef de projet creer un fichier, par defaut le fichier et 755 ou rwxr-xr-x et appartient à "utilisateurA:groupeA"
    à partir de la :
    utilisateurA peut tout faire (lire, ecrire, executer) : rwxr-xr-x
    le groupe A peut lire et executer : rwx*r-xr-x
    les autres utilisateurs peuvent lire et executer rwxr-x
    r-x*

    chmod o-x va enlever le droit execution pour les gens des autres groupes other

    maintenant avec ce genre de gestion, le droit en ecriture permet aussi de supprimer le fichier, le droit en execution permet de traverser un dossier.

    ensuite, tu parles d'un probleme quand un "stagiaire essaye d'inséré"
    il essaie d'inserer quoi, ou ?

    reponse : le fichier est en lecture seule,
    ben oui, ce n'est pas parce que tu lui demandes de passer par sudo qu'il pourra passer outre les droits du systeme (le fameux rwxr-xr-x) qui est probablement r-xr-xr-x aucun droit en ecriture.

  • # Permission sur des utilisateurs spécifiques

    Posté par  . Évalué à 1.

    Merci Neox comme toujours !

    L'objectif ici c'est que les stagiaires ont droit uniquement à la lecture et à l'ecriture c'est à dire ils peuvent modifier puis enregistré. Mais ils ne pourront copier les fichiers ou autre et maintenant si j'essaye de lancé une commande via sudo avec un compte stagiaire voici la reponse:

    root@uat-me-dev:~# su modou
    modou@uat-me-dev:/root$ sudo vim /var/www/style.css
    [sudo] password for modou:
    modou is not in the sudoers file. This incident will be reported.

    Mon chef de stage me confie cela parcequ'il ne veut pas que les stagiaires puisse copier ses projets c'est la raison !!! et je demande vraiment de l'aide merci

    Ok l'insertion que tu me demande c'est lorsqu'il y'a un fichier a modifier par un stagiaire !

    voici un lien que j'avais suivie superuser

    Cordialement !!!

    • [^] # Re: Permission sur des utilisateurs spécifiques

      Posté par  . Évalué à 5.

      L'objectif ici c'est que les stagiaires ont droit uniquement à la lecture et à l'ecriture c'est à dire ils peuvent modifier puis enregistré. Mais ils ne pourront copier les fichiers ou autre.

      je sais cela ne va pas t'arranger.

      helas, si tu peux lire un fichier, tu peux le copier
      si tu peux ecrire dans un fichier, tu peux l'effacer

      et pour l'utilisateur modou

      soit il n'appartient pas aux groupes stagiaires ou chefdeprojet, soit ton fichier sudoers a été modifié, au hasard, par un stagiaire qui avait le droit de faire sudo vim /etc/sudoers

      bref tu comprendras mon etonnement, car c'est de la securité qui n'en est pas une.

      si le chef de projet ne veut pas qu'on vienne piquer ses projets, il les mets dans donc dossiers à lui.
      s'il veut partager des infos, il les mets dans un dossier partagés.

      et dans ce sens, les stagiaires travaillent dans leur dossier perso, et c'est le chef de projet (tuteur) qui doit avoir le droit d'aller lire/ecrire dans le dossier de l'etudiant, et non l'inverse.

      si tu veux vraiment faire ce que tu veux faire dans le sens ou tu veux le faire, il faut peut-etre regarder les attributs avec xattr pour permettre tout sauf l'effacement par exemple.

      ah, et pour repondre à quelqu'un, on clique sur "repondre" en dessous de son post, plutot que sur "envoyer un commentaire"
      en effet ce dernier va repondre au post d'origine, le tient dans le cas present.

      • [^] # Re: Permission sur des utilisateurs spécifiques

        Posté par  . Évalué à 1.

        Merci grandement NeoX !!

        Concernant le fichier sudoers je ne pense pas qu'il est modifié le code que j’avais posté plus haut c'est ça qui est là depuis le début!!!

        Concernant l'utilisateur modou il appartient au groupe stagiaires pour preuve si je tape la commande
        groups modou
        modou : modou stagiaires
        mais je ne comprend pas pourquoi il me dit qu'il n'est pas dans le sudoers
        et si aussi j'essaye cette commande : sudo vim /etc/sudoers
        on me répond bash: sudo: command not found

        Concernant le chef enfaite tous les fichier de développement sont sur un seul serveur donc tous les développeurs se connectent sur ce serveur pour travailler donc on ne peu pas cacher un fichier raison pour la quelle on restreint les droits d’utilisateurs

        Donc si vous comprenez vraiment mon problème je vous demande de l'aide même si c'est pas avec la méthode que j'utilise.

        Cordialement NeoX !!!

    • [^] # Re: Permission sur des utilisateurs spécifiques

      Posté par  (site Web personnel) . Évalué à 4. Dernière modification le 02/02/16 à 01:08.

      Pour que les stagiaires ne puissent recopier les fichiers tout en pouvant les lire et les modifier, il te suffit de bloquer tout ce qui est support amovible (USB, disquette s'il y a, etc) et de bloquer toute connexion internet. Penser aussi à interdire les appareils photo et bien sur les téléphones mobiles (ils pourraient faire des copies d'écran).

      Penser aussi à verrouiller le boot sur le disque système afin qu'ils ne puissent pas démarrer sur un live CD et court-circuiter les protections, ainsi que de cadenasser les boitiers (quoi que si c'est sur un serveur).

      Et hop.

      Plus sérieusement, ton chef de stage à conscience de ce qu'il demande, ou bien c'est un jeu?

      Python 3 - Apprendre à programmer dans l'écosystème Python → https://www.dunod.com/EAN/9782100809141

      • [^] # Re: Permission sur des utilisateurs spécifiques

        Posté par  . Évalué à 1.

        Merci pour ces détails lolop
        En réalité je pense qu'il est conscient de tout cela mais je ne sais pas pourquoi il veut interdire d'autre fichier ??

        Mais son idée se ça :

        allow user to be root only for specific commands.
        donc avant peut être que je reste là à refléchire est ce que la chose est faisable ???

        avoir 2 groupes A et B
        et les users de B ne peuvent que lire et ecrire ???

        Merci pour votre aide

        • [^] # Re: Permission sur des utilisateurs spécifiques

          Posté par  (site Web personnel) . Évalué à 2.

          Entre l'explication que tu as donné à neox et cette phrase, j'ai l'impression que tu as mal compris l'objectif.

          Python 3 - Apprendre à programmer dans l'écosystème Python → https://www.dunod.com/EAN/9782100809141

          • [^] # Re: Permission sur des utilisateurs spécifiques

            Posté par  (site Web personnel) . Évalué à 3. Dernière modification le 02/02/16 à 08:48.

            Complément avec un vrai clavier…

            allow user to be root only for specific commands.

            Peut se traduire en: Permettre l'utilisation du compte root pour certaines commandes seulement - on parle d'élévation de privilège. Ça n'indique pas que les utilisateurs ne peuvent pas enregistrer.

            La piste sudoers est la bonne. Suivant les commandes que tu autorises, ça peut ne leur permettre d'éditer que certains fichiers… mais une fois dans l'éditeur, rien ne les empêchera de faire un "save as".

            Une idée pour pouvoir limiter la recopie de données:

            • des données illisibles par un utilisateur lambda, lisibles par leur possesseur uniquement.
            • un script qui enchaîne (en étant sudo):
              • création d'un espace pour faire un chroot
              • recopie des données et des outils nécessaires dans cet espace
              • lancement de la commande d'édition en chroot sur cet espace (l'éditeur ne peut alors écrire que dans l'espace chroot)
              • en sortie, recopie des données modifiées vers le support original

            Ça fait très usine à gaz, et y'a probablement des trucs à blinder pour qu'on ne puisse pas le contourner.

            Python 3 - Apprendre à programmer dans l'écosystème Python → https://www.dunod.com/EAN/9782100809141

            • [^] # Re: Permission sur des utilisateurs spécifiques

              Posté par  . Évalué à 0.

              Merci pour ces différents details

              La piste sudoers est la bonne. Suivant les commandes que tu autorises, ça peut ne leur permettre d'éditer que certains fichiers… mais une fois dans l'éditeur, rien ne les empêchera de faire un "save as".

              Je pense que pour moi ce qui est plus intéressant ce ça si les stagiaires pourrons travaillé sur des fichiers et enregistré je pense que l'essentiel sera fait !!!

              dans le sudoers je pourais ajouté quelques choses ou diminué pour que cela puisse marché ???

              Merci de votre aides !!!

              Cordialement.

              • [^] # Re: Permission sur des utilisateurs spécifiques

                Posté par  . Évalué à 3.

                le sudo NE te permet PAS d'ecrire sur un fichier qui est en lecture seule

                il permet de se faire passer pour l'utilisateur root pour certaines commandes.
                mais si root n'a pas accés en ecriture à des fichiers, sudo n'y changera rien.

                cf mon explication plus haut, et le cours sur la gestion des droits sur les fichiers/dossiers avec linux.

                ex :

                ls -l /mondossier/monfichier
                
                -r-xr-xr-x userA groupeA monfichier

                personne ne peut ecrire dans ce fichier puisque le droit w n'est pas positionné.

                et toujours
                ATTENTION, sudo vim est une mauvaise idée, je penses que tu abordes le probleme du mauvais coté

                tes utilisateurs pouvant alors modifier n'importe quel fichier du serveur pour en changer la configuration par exemple.

                • [^] # Re: Permission sur des utilisateurs spécifiques

                  Posté par  . Évalué à 1.

                  Merci NeoX pour tes bonnes explications !!
                  Je trouve des solutions à mon problème concernant ce cas là pour l'instant j'ai maintenu le fichier sudoers dans sa position et pour l'instant je fait simple en donnant juste du

                  -rwxr-xrw- 1 root root fichiertest
                  je le fait parceque c'est juste les chefs de projet qui ont la possibilité de créer des fichiers.

                  avec ça tout marche !!!

                  Maintenant comme il me sera trop difficile de venir à chaque fois donner ces mêmes droits que les chef de projets vont créer j'aimerais pensé à un cron qui va venir recupéré ces fichier dans la journée et octroyé ces droits là !!

                  Pensez-vous que cela est faisable ??? s'il y'a une piste je suis preneur

                  Et je remercie tout le monde pour l'eclaircissement de ces choses que même mon chef de stage ne comprenait pas !!

                  NEOX
                  LOLOP
                  KNA

                  cordialement !!

                  • [^] # Re: Permission sur des utilisateurs spécifiques

                    Posté par  . Évalué à 2.

                    et pour l'instant je fait simple en donnant juste du
                    -rwxr-xrw- 1 root root fichiertest
                    je le fait parceque c'est juste les chefs de projet qui ont la possibilité de créer des fichiers.
                    avec ça tout marche !!!

                    ca marche mais c'est GROSSE FAILLE DE SECU
                    et ca ne te protege pas comme tu le voulais.

                    les etudiants peuvent toujours lire le fichier (donc le copier)
                    les etudiants peuvent toujours ecrire le fichier (donc l'effacer ou vider le contenu)

                    et tes etudiants/chef de projet vous alors pouvoir modifier tout et n'importe quoi sur le serveur vu qu'ils peuvent faire un sudo vim /lechemin/lefichier

                    ex :

                    sudo vim /etc/resolv.conf pour changer les dns
                    sudo vim /etc/mysql/my.cnf pour modifier la config de mysql
                    sudo vim /etc/apt/sources.list pour modifier les depots

                    • [^] # Re: Permission sur des utilisateurs spécifiques

                      Posté par  . Évalué à 0.

                      sudo vim /etc/resolv.conf pour changer les dns
                      sudo vim /etc/mysql/my.cnf pour modifier la config de mysql
                      sudo vim /etc/apt/sources.list pour modifier les depots

                      HEEE donc c'est grave déé, courrir du dangé et se rancontré avec l'ange de la mort!!
                      Maintenant, NeoX que peut tu me conseillé, maintenant je t'écoute je n'ajoute plus rien jusqu'à avoir tes conseils.

                      en voulant securisé si ont ouvre toutes les portes alors là c'est dangereux !

                      • [^] # Re: Permission sur des utilisateurs spécifiques

                        Posté par  . Évalué à 3. Dernière modification le 02/02/16 à 22:28.

                        relire ce que j'ai ecrit plus haut,
                        relire les cours sur les droits utilisateurs sur un systeme linux.

                        sudo ne doit service qu'à permettre de travailler avec le compte root, sans etre root.

                        dans ton cas je doute qu'il y ait besoin d'etre root pour lire/ecrire des fichiers de projets.

                        utiliser sudo dans ton cas, reviendrait à vouloir donner le compte root à tous tes etudiants.

                        un dossier projet, appartenant à l'utilisateur cpA et au groupe stagiaire
                        avec les droits 740 sur les fichiers
                        -rwx-r----- cpA:groupeA lefichier

                        permet que le chef de projet puisse ecrire dans le fichier, et que les gens du groupeA puisse lire ce fichier.
                        les gens du groupeB ne pourront rien faire dans ce fichier (droits ---)

                        à l'inverse, tu peux avoir un arbre appartenant aux utilisateurs.
                        /home/userA
                        /home/userB
                        /home/userC

                        chacun a les droits dans son dossier
                        et si tu autorises le groupe cpA sur ces dossiers, alors le chef de projet qui appartient au groupeCPA pourra agir sur ces dossiers pour y deposer les fichiers que les etudiants auront à utiliser et un chef de projet du groupeCPB ne pourra rien y faire.

                        exemple les dossiers se presenteront de la maniere suivante :

                        ls -l /home
                        drwxrwx--- userA:groupeCPA /home/userA
                        drwxrwx--- userB:groupeCPA /home/userB

                        evidemment le home du chefdeprojetA sera seulement en rwx------ si son contenu doit rester "secret"
                        rwx--x--x s'il doit etre traverser par les etudiants pour aller dans un dossier particulier, ex : /home/cpA/projets/etudiants

                        ls -lr /home/cp*
                        drwx--x--x cpA:groupeCPA /home/cpA
                        drwx--x--x cpA:groupeCPA /home/cpA/projets
                        drwx--xr-x cpA:groupeCPA /home/cpA/projets

                        note le r dans la 3e colonne pour le dossier projets/etudiants afin que les gens qui ne sont pas cpA, ni dans le groupeCPA puisse lire le contenu du dossier.

                        et comme cité precedemment, utiliser les chattr pour figer certains droits (eviter l'effacement par exemple).

                        la gestion des droits sous linux :
                        les droits ordinaires : https://doc.ubuntu-fr.org/permissions
                        les droits etendus ou ACLs : https://openclassrooms.com/courses/les-acl-access-control-lists-sous-linux
                        les attributs speciaux : http://linux.die.net/man/1/chattr

                        • [^] # Re: Permission sur des utilisateurs spécifiques

                          Posté par  . Évalué à 0.

                          Je ne saurais te remercier mais quand même c'est une excellente explication que tu m'a fournie ici et je pense qu'avec ça je pourrais maintenant me débrouiller avec la gestion des droits sous linux, donc je réapprend et je vous reviendrais plus tard merci infiniment je suis comblé de joie pour ces coûts de pouces vraiment

                          NEOX tu est un grand franchement !!!

                          Cordialement.

  • # Message d'utilité publique

    Posté par  . Évalué à 3. Dernière modification le 02/02/16 à 11:17.

    C'est normal que ton fichier sudoers ne soit pas modifiable. Il existe une commande pour l'éditer : visudo

    Elle va te permettre de modifier le fichier (avec l'éditeur indiqué dans la variable EDITOR) et vérifiera la syntaxe avant de l'enregister. Ceci te permettra d'éviter une boulette (notamment si tu as besoin d'utiliser sudo pour éditer le fichier).

    Ensuite, il faut faire attention aux commandes que tu autorises. Beaucoup de commandes Unix permettent de lancer d'autres commandes. Et c'est le cas de vim : il suffit de taper !commande pour lancer une commande. Donc un utilisateur a qui tu autorises sudo vim peut finalement faire ce qu'il veut !
    Pour l'édition de fichiers, il existe une commande interne à sudo : sudoedit qui va faire une copie du fichier, l'éditer avec le compte utilisateur et copier le nouveau fichier à la place.

    • [^] # Re: Message d'utilité publique

      Posté par  . Évalué à 0.

      Merci kna pour votre enthousiasme !!
      J'ai repondu à Neox vous pouvez regardé ci dessus

      Mainteant je pense à un cron qui pourras venir recupéré tous les fichiers dans la journée pour donner les mêmes droits à ces fichiers!!

      Merci Cordialement

Suivre le flux des commentaires

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