J'ai un dossier personnel / a / b sur le serveur avec l'autorisation 700. Je ne veux pas que les autres répertorient le contenu dans / a / b. Le propriétaire de / a est root.
Maintenant, je dois ouvrir toutes les autorisations du répertoire / a / b / c à tous les utilisateurs.
J'ai changé l'autorisation de / a / b / c en 777 mais elle est toujours inaccessible pour les autres.
chmod +x /a/b
Réponses:
Vous pouvez. Il vous suffit de définir le bit exécutable sur le
/a/b
répertoire. Cela empêchera de voir quoi que ce soitb
, mais vous pouvez toujours tout faire si vous allez directement àa/b/c
.Sachez que même si d'autres ne peuvent pas répertorier le contenu de
/a/b
, ils peuvent accéder aux fichiers de ce répertoire s'ils devinent le nom du fichier.Assurez-vous donc de conserver les autorisations appropriées (pas de groupe / monde) sur tous les autres fichiers / répertoires du
b
répertoire, car cela évitera cette mise en garde.la source
b
pourc
a/b
contient des autorisations de groupe / autres différentes de zéro et qu'un adversaire connaît ou peut deviner leurs noms, cet adversaire peut interagir avec ces fichiers.b
devraient avoir des autorisations définies pour se protéger contre cela avant la créationc
, puis une diligence est nécessaire lorsque d'autres éléments sont remplisb
pour s'assurer que les autorisations sont sécurisées pour le seul propriétaire.Avec ces autorisations, vous ne pouvez pas atteindre votre objectif. Pour accéder au répertoire
c
, vous devez autoriser tous les autres utilisateurs à parcourir le répertoire,b
ce qui se fait en accordant l'autorisation d'exécution pour ce répertoire. Avec le/a/b
mode 711, vous pouvez obtenir ce que vous voulez car vous accordez la traversée de répertoire mais refusez la lecture et l'écriture. Mais gardez à l'esprit que même si d'autres utilisateurs ne peuvent pas répertorier les fichiers/a/b
, ils peuvent avoir accès aux fichiers s'ils supposent le nom et que les fichiers disposent d'autorisations suffisamment ouvertes.la source
Si un utilisateur ne peut pas accéder
/a/b
, il ne peut accéder à aucun fichier sous/a/b/c
. Les autorisations sur ne/a/b/c
sont pas pertinentes car la traversée du répertoire s'arrête à/a/b
.Si tout ce que vous voulez est d'empêcher le répertoire
/a/b
d'être répertorié, mais que les utilisateurs accèdent aux fichiers/a/b
s'ils acceptent un nom de fichier, vous pouvez rendre/a/b
exécutable mais non lisible. Sur un répertoire, l'autorisation de lecture contrôle uniquement la liste du contenu du répertoire, tandis que l'autorisation d'exécution contrôle l'accès aux entrées de ce répertoire.Si vous ne souhaitez pas que d'autres utilisateurs puissent accéder aux fichiers à l'
/a/b
exception de/a/b/c
, vous pouvez exposer/a/b/c
via une autre vue, via un montage de liaison .la source