Restreindre accès aux utilisateurs

Résolu
Fisoux Messages postés 102 Statut Membre -  
mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour,

J'ai un serveur sous Ubuntu 16.04 et j'aimerais que les utilisateurs ne puissent pas accéder au home (/home) mais seulement a leur dossier (/home/<utilisateur>).
Même en cherchant sur le web je n'ai pas trouve de vrais réponse a mon problème.

1 réponse

  1. mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   7 944
     
    Bonjour,

    Rappels sur les droits

    Pour accéder à l'intérieur d'un répertoire, il faut que l'utilisateur ait les droits en lecture et en exécution. Sous linux chaque fichier (ce qui inclue les fichiers ordinaires, les dossiers, les devices) sont associés à trois triplets de droits rwx (read/write/execute) :
    - 1er triplet : ils sont appliques à l'utilisateur propriétaire (u)
    - 2e triplet : ils sont appliques au groupe propriétaire (g)
    - 3e triplet : ils sont appliques aux autres (o)

    Ainsi, étant donné un utilsateur, un dossier (et donc son utilisateur et son groupe propriétaire), tu peux déterminer à quel triplet de droits cet utilisateur est confronté. Si le droits est actif, la lettre correspondant est écrite. Sinon elle est remplacée par un -.

    Exemple :

    ls -l /home
    drwxr-x--- 41 mando mando 1327104 avril 21 10:40 mando


    Ici on voit que /home contient un dossier (d) dont les droits sont rwx/r-x/--- qui appartient à l'utilisateur mando et au groupe mando. Ce dossier s'appelle mando.

    - L'utilisateur mando est associé au premier triplet de droits, puisqu'il est l'utilisateur propriétaire (u) du dossier (rwx). Il a donc tous les droits. Ainsi que root (l'administrateur de la machine), parce que root a toujours tous les droits.

    - Considérons un utilisateur manda qui appartient au groupe mando. manda est associée au droits du groupe (g) : r-x. Du coup elle peut lire dans ce répertoire. Mais comme elle n'a pas les droits en écriture, elle ne peut ni écrire dedans, ni modifier, ni supprimer un fichier dedans.

    - Considérons maintenant un utilisateur toto qui n'est pas dans le groupe mando, et qui n'est pas root. Il n'est ni utilisateur propriétaire (u) ni dans le groupe propriétaire (g). Il est donc dans le troisième triplet (o) : ---. Il n'a donc aucun droit (ni lire, ni écrire dans /home/mando).

    Régler les droits avec
    chmod


    La commande
    chmod
    permet de régler ces droits, de même que ton explorateur de fichiers si tu as les droits sur ce répertoire. De manière on ne relâche jamais les droits associés à un fichier, car cela revient souvent à ouvrir un trou de sécurité, car cela peut autoriser par la même occasion des utilisateur illégitimes à faire des choses qu'ils ne sont pas sensés faire. Il faut donc utiliser cette commande avec précaution.

    La syntaxe de
    chmod
    est détaillée dans
    man chmod
    . Je t'invite à lire aussi :
    https://www.mistra.fr/tutoriel-linux-profils-et-droits.html

    Supposons que seul mando (et root) soit capable d'accéder à
    /home/mando
    . Dans notre exemple il faudrait retirer (-) au groupe (g) mando les droits en lecture (r) et en exécution :

    chmod g-rx /home/mando


    Retour à ton problème

    Dans ton cas tu veux désactiver les droits rwx pour "les autres" : du coup la commande est (en supposant que tu sois identifié en mando ou en root) :

    chmod o-rwx /home/mando


    Si tu es root ou que tu utilises
    sudo
    tu peux changer d'un coup les droits des dossiers utilisateurs :

    chmod o-rwx /home/*


    Bonne chance
    1