web-dev-qa-db-fra.com

Pourquoi ne puis-je pas entrer dans un répertoire avec un groupe d'utilisateurs non propriétaires

J'ai créé un utilisateur sur mon serveur spécifiquement pour une application externe. Je veux que l'application puisse ssh dans le compte d'utilisateur et cd dans un répertoire. Cependant, il n'arrête pas de dire que l'autorisation est refusée lorsque j'essaie de le faire. J'ai défini les autorisations sur le dossier sur "Accès", pensant que cela ferait l'affaire.

Voici une capture d'écran des autorisations de dossier:

enter image description here

Ce qui donne?

5
mdornfe1

Votre dossier parent doit aussi être lisible (dans un sens).

Par exemple, j'ai un dossier test, avec un autre dossier, test2 à l'intérieur de celui-ci. Les autorisations sont en tant que telles:

drwxrwx---   3 kazwolfe kazwolfe     4096 Dec 30 13:18 test/
drwxrwxr-x   2 kazwolfe nogroup      4096 Dec 30 13:18 test/test2

Comme vous pouvez le constater, l’utilisateur nobody (membre de nogroup) dispose des autorisations nécessaires pour test/test2, mais il ne peut pas y ajouter cd:

cd: test/test2: Permission denied

Pourquoi? En clair, parce que l’utilisateur nobody n’a pas le droit de lire à partir de test. Par conséquent, ils ne peuvent pas accéder aux sous-répertoires ni aux sous-fichiers de test, même s'ils en ont l'autorisation!

Afin de résoudre ce problème, je dois m'assurer que le bit d'exécution (chmod a+x test) de tout dossier parent est défini afin de pouvoir parcourir le (s) dossier (s) nécessaire (s):

┌─[13:35:22]─[nobody@ArcticWolf]
└──> ~ $ cd test
┌─[13:35:24]─[nobody@ArcticWolf]
└──> test $ ll
ls: cannot open directory '.': Permission denied
┌─[✗]─[13:35:27]─[nobody@ArcticWolf]
└──> test $ cd test2
┌─[13:35:31]─[nobody@ArcticWolf]
└──> test2 $ touch hello
┌─[13:35:34]─[nobody@ArcticWolf]
└──> test2 $ ll
total 8
drwxrwxr-x 2 kazwolfe nogroup  4096 Dec 30 13:35 ./
drwxrwx--x 3 kazwolfe kazwolfe 4096 Dec 30 13:22 ../
-rw-r--r-- 1 nobody   nogroup     0 Dec 30 13:35 hello

Notez que le réglage du bit d'exécution sur un dossier permet à un utilisateur d'accéder à tout élément du dossier pour lequel il dispose de l'autorisation et dont il sait qu'il existe . Voir cette réponse sur U & L pour une vue plus détaillée des autorisations sur les dossiers.

6
Kaz Wolfe