Donner un accès en lecture seule à des dossiers spécifiques?

12

Je voudrais donner un accès en lecture seule à un utilisateur mais je veux qu'il / elle ne voit que les dossiers exacts auxquels je donne accès. par exemple, il / elle ne doit pas parcourir tout le serveur et parcourir tous les dossiers des utilisateurs, etc. Alors, tout d'abord, comment puis-je permettre à un utilisateur spécifique d'avoir accès à un dossier spécifique et ensuite, mettre des liens symboliques vers son dossier d'accueil serait-il utile? Ainsi, ils peuvent accéder directement aux dossiers nécessaires, mais pas vers le haut ou vers le bas?

Anarkie
la source
@Creek Non, c'est un contexte pertinent, mais cela n'explique pas comment configurer cela.
Gilles 'SO- arrête d'être méchant'
@ Gilles, vous avez raison, cet environnement
Creek

Réponses:

10

Vous devez définir les autorisations de répertoire nécessaires. Pour les répertoires, ce sont:

  • lecture : autorisé à afficher les fichiers et sous-répertoires dans ce répertoire
  • écriture : autorisé à créer des fichiers et des sous-répertoires dans ce répertoire
  • exécuter : autorisé à entrer dans un répertoire.

Pour les fichiers, la situation est similaire, c'est assez évident, vous pouvez donc le gérer vous-même.

Numérique ces autorisations:

  • lire - 4
  • écrire - 2
  • exécuter - 1

Pour modifier les autorisations, utilisez chmod. Usage:chmod xyz <file or directory>

  • x - la somme des autorisations du propriétaire
  • y - la somme des autorisations du groupe de propriétaires
  • z - la somme des autorisations des utilisateurs / groupes restants

Exemple:

$ chmod -R 664 /home/jack/

jack et le groupe de jack auront un accès en lecture / écriture à / home / jack et à tous ses sous-répertoires. Le reste n'aura qu'un accès en lecture. -Roption utilisée ici pour définir récursivement les autorisations.

Autre exemple:

$ chmod 700 /home/jack/video/

donnera à jack un accès complet au /home/jack/videorépertoire. Voir aussi: chown, chgrppour changer le propriétaire et le groupe propriétaire.

milos
la source
1
Bien qu'il s'agisse d'un contexte marginalement pertinent, la question ne concerne pas les détails des autorisations de répertoire, il s'agit de configurer un environnement restreint.
Gilles 'SO- arrête d'être méchant'
1
Il n'y a pas besoin chrootici, je suppose, que le problème peut être facilement résolu en définissant les autorisations nécessaires.
milos
3

je ne lis pas non plus nécessaire pour configurer des chroots. pour éviter de remonter les répertoires parents, attribuez une autorisation stricte.

$ mkdir --parent 1/2/3
$ ls 1
2
$ chmod 100 1
$ ls 1
ls: cannot open directory 1: Permission denied
$ ls 1/2
3

si nous voulons autoriser un utilisateur à accéder à / home / 1 mais restreindre l'utilisateur à ne pas voir quels sont les autres matériaux dans / home que nous fabriquons / home appartenant à root hand ont la permission 111. ainsi l'utilisateur ne sait jamais si / home / 2 existe.

把 友情 留 在 无 盐
la source