Restreindre accès aux utilisateurs

Résolu/Fermé
Fisoux Messages postés 93 Date d'inscription samedi 25 février 2017 Statut Membre Dernière intervention 22 mai 2023 - 20 avril 2017 à 19:29
mamiemando Messages postés 33079 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 23 avril 2024 - 21 avril 2017 à 10:56
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

mamiemando Messages postés 33079 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 23 avril 2024 7 749
21 avril 2017 à 10:56
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