Forum Linux.débutant différence entre les permissions windows et linux (accès aux dossiers)

Posté par  . Licence CC By‑SA.
1
14
août
2019

Bonjour,

Y a pas longtemps que je me suis remis sur linux, et je dois dire que j'ai oublié pas mal de choses. Je suis un peu perdu.

J'ai installé Ubuntu 18.04 il y a quelques jours. J'ai donc, via l'installation, créé un utilisateur test qui est administrateur (le premier user sera automatiquement root si je ne me trompe pas).

J'ai créé un deuxième utilisateur invité et je l'ai mis en utilisateur.

Ma question est : pourquoi je peux accéder au dossier personnel 'test', qui est administrateur, avec le compte invité qui est simple user ?

Sur Windows, ça se fait automatiquement. Un utilisateur n'a pas le droit d'aller voir le dossier personnel d'un administrateur, ni même d'un simple user d'ailleurs.

Merci à ceux qui pourront m'éclairer.

Davycdz

  • # pas d'utilisateur root sous Ubuntu

    Posté par  . Évalué à 5.

    le premier user sera automatiquement root si je ne me trompe pas.

    Non, sous Ubuntu, il devra faire sudo pour avoir (temporairement) les droits root. C'est donc un utilisateur comme les autres.

    pourquoi je peux accéder au dossier personnel 'test', qui est administrateur, avec le compte invité qui est simple user ?

    Parce que c'est un choix de la distribution Ubuntu de laisser l'accès en lecture aux autres utilisateurs. D'autres distributions font peut-être le même choix que Windows, ce n'est pas intrinsèque à Linux. C'est de toutes façons très facile à changer avec la commande chmod.

    • [^] # Re: pas d'utilisateur root sous Ubuntu

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

      chmod -R o-rw /home
      

      Avec cette commande tu enlèves tous les droits pour ceux qui ne sont pas propriétaires du dossier.

      -R pour recursive (sous dossiers aussi)
      o pour other (les autres)
      - pour enlever des droits
      r pour read (lire)
      w pour write (écrire)

      Un LUG en Lorraine : https://enunclic-cappel.fr

      • [^] # Re: pas d'utilisateur root sous Ubuntu

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

        Je partirais plutôt sur chmod o-rx /home/* ou chmod o-rwx /home/*.

        • Je ne vois pas trop pourquoi on aurait w pour o, mais bon la deuxième commande permet d'être absolument certain.
        • Pas besoin d'aller modifier tout le monde récursivement si x est absent de chaque répertoire utilisateur.
        • Et surtout les fichiers créés par la suite (probablement avec un umask tout aussi permissif que les permissions initiales) ne seront pas accessibles non plus…

        Debian Consultant @ DEBAMAX

        • [^] # Re: pas d'utilisateur root sous Ubuntu

          Posté par  . Évalué à 2.

          Grillé, le temps d’écrire mon commentaire…

          Pas besoin d'aller modifier tout le monde récursivement si x est absent de chaque répertoire utilisateur.

          En effet.
          Par contre, il faut s’en rappeler si tu le remets après coup (par exemple parce que tu t’installes un serveur web local à l’arrache et que tu veux qu’il puisse accéder à ~/public_html).

          « Le fascisme c’est la gangrène, à Santiago comme à Paris. » — Renaud, Hexagone

      • [^] # x !

        Posté par  . Évalué à 5.

        Par contre, ça laisse le droit x, pour exécuter, et il est plus important qu’on ne pense (je reviendrai dessus).

        Je suggère plutôt la commande :

        chmod -R go= /home

        g désigne les utilisateurs du même groupe.
        Si tu n’as qu’un groupe pour tous les utilisateurs physiques, tu as intérêt à le traiter, sinon ils auront toujours autant de droits. Selon les distributions, tous les utilisateurs peuvent faire partie d’un groupe unique, ou chaque utilisateur peut avoir son propre groupe (je ne suis pas sur Ubuntu en ce moment, et je ne me rappelle plus ce qu’il en est dessus).

        = fixe les droits à ceux indiqués à sa suite. Je n’ai rien mis à sa suite, donc il n’y aura aucun droit.

        Il est mieux aussi d’ajouter dans le .bashrc (ainsi que le .bash_profile s’il n’appelle pas le .bashrc) de chaque utilisateur la commande suivante :

        umask u=rwx,go=

        Ainsi les fichiers nouvellement créés le seront sans droit pour les autres utilisateurs (en espérant que l’environnement graphique exécute le .bash_profile ou le .bashrc avant de lancer des logiciels…), parce que des fichiers sont aussi créés en dehors du répertoire de l’utilisateur, par exemple dans /tmp.

        umask spécifie un filtre de permissions pour la création de fichiers ou de répertoires. Sa syntaxe symbolique est similaire à celle de chmod (il supporte aussi un argument octal, tout comme chmod, mais inversé par rapport à celui-ci ; autant éviter l’octal). u, c’est pour l’utilisateur (le propriétaire des fichiers et répertoires).

        umask -S pour connaître le filtre actuel.


        Je reviens sur l’importance du droit x.
        Une particularité avec les répertoires, c’est que le droit r permet de lire le contenu, alors que le droit x permet d’y accéder.

        Supposons que tu fasses chmod -R o-rw /home avant que le répertoire Documents (par exemple) d’un utilisateur soit créé. Il est créé après coup (probablement à la première ouverture d’une session graphique), donc avec les droits par défaut (à moins que tu n’aies changé l’umask de ton utilisateur).
        Un autre utilisateur, sachant qu’un utilisateur existe et où est son répertoire (getent passwd), pourra essayer cd /home/utilisateur/Documents et y accéder.

        Vérification (dans /tmp pour simplifier le nettoyage, et avec root pour ne pas se casser la tête à créer un utilisateur) :

        Sous root (en sudo -i ou en préfixant chaque commande de sudo) :

        mkdir -p /tmp/home/utilisateur
        chmod -R o-rw /tmp/home
        mkdir /tmp/home/utilisateur/Documents
        echo "Contenu super confidentiel" > /tmp/home/utilisateur/Documents/doc.txt

        Sous ton utilisateur normal (je laisse le $ du prompt pour différencier les commandes de la sortie obtenue en retour) :

        $ ls -la /tmp/home
        ls: impossible d'ouvrir le répertoire '/tmp/home': Permission non accordée
        
        $ ls -la /tmp/home/utilisateur
        ls: impossible d'ouvrir le répertoire '/tmp/home/utilisateur': Permission non accordée
        
        $ ls -la /tmp/home/utilisateur/Documents
        total 4,0K
        drwxr-xr-x 2 root root 60 15 août  15:54 .
        drwx--x--x 3 root root 60 15 août  15:54 ..
        -rw-r--r-- 1 root root 27 15 août  15:54 doc.txt
        
        $ cat /tmp/home/utilisateur/Documents/doc.txt 
        Contenu super confidentiel
        

        « Le fascisme c’est la gangrène, à Santiago comme à Paris. » — Renaud, Hexagone

Suivre le flux des commentaires

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