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:
Ce qui donne?
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.