J'ai un utilisateur ftpadmin:
-bash-3.2$ id ftpadmin
uid=10001(ftpadmin) gid=2525(fsg) groups=2525(fsg),10005(git)
Le groupe important à noter est "git"
Ensuite, j'ai mon dépôt git:
ls -al
drwxrwxr-x 7 git git 4096 Apr 20 14:17 fsg
Ftpadmin est donc membre de git, et git a donné toutes les autorisations aux personnes du groupe. Pourquoi est-ce que je vois cela lorsque je me connecte en tant que ftpadmin:
-bash-3.2$ ls -al /home/git/
ls: /home/git/fsg: Permission denied
...
On dirait que je devrais avoir la permission ...
Mettre à jour Les autorisations sur / home / git sont
drwxrw-rw- 6 git git 4096 Apr 26 09:20 git
semble toujours bon ...
Mettre à jour Les nouvelles autorisations sur / home / git sont:
drwxrwxrw- 6 git git 4096 Apr 26 09:20 git
Les autorisations sur / home / git / fsg sont:
drwxrwxr-x 7 git git 4096 Apr 20 14:17 fsg
Cependant, je reçois toujours
ls: /home/git/fsg: Permission denied
ls: /home/git/fsg: Permission denied
linux
permissions
Tony
la source
la source
/home/git
?drwxrwxr-x
si vous le souhaitez en lecture seule pour les non-membres du groupe mais modifiable par les membres du groupe; devrait l'êtredrwxrwx---
si vous voulez que seuls les membres du groupe y participent.Réponses:
Je voulais donner à mpez0 un +1 spécifiquement, pour sa réponse "Vous avez besoin du bit" x "du groupe défini dans le répertoire pour autoriser les recherches de groupe. Les autorisations" rw- "permettent d'ouvrir un fichier en fonction de son nom (r) ou de créer un fichier (w), mais sans répertorier ni rechercher les fichiers (x). "
Son si facile à oublier, et sa solution est enterrée au milieu. C'est certainement un problème pour les nouveaux utilisateurs Linux en ce qui concerne les autorisations de fichiers / répertoires pour les utilisateurs et les groupes.
Tout ce qu'Avery a dit était juste sur l'argent, j'aimerais encore une fois vous donner un +1.
La figure un autre exemple plus détaillé pourrait aider les nouveaux utilisateurs de Linux ( ne recherchant aucun crédit, fournissant simplement un autre exemple pour plus de clarté ). Sur mon propre PC, je voulais créer un utilisateur supplémentaire pour un projet de développement spécifique. Je testais des problèmes SSH, SFTP entre ma machine et un serveur colocalisé sur le Web. Vous avez la même erreur "Autorisation refusée" après avoir tout configuré ... et oui, cela semblait correct, sauf pour le problème de recherche basé sur les autorisations pour les autres que mpez0 a souligné.
Remarque: Pour les nouveaux utilisateurs Linux, les autorisations sont respectivement utilisateur, groupe, autre ou rwx, rwx, rwx et ressembleraient à ceci
Pour «autre», il nous est rappelé qu'il ne suffit PAS de trouver / rechercher le répertoire, d'où le message d'erreur.
Voici ce que j'ai fait (j'ai rencontré le message d'erreur à l'étape 6)
1) a créé un utilisateur, hoiuser (pour voir les informations utilisateur, vous pouvez utiliser le doigt cmd, "finger hoiuser" ou lire le fichier 'cat / etc / passwd')
2) créé un groupe, hoidevs (utilisateur ajouté "hoiuser" au groupe)
N'oubliez pas que vous devez vous déconnecter et vous reconnecter pour que les nouvelles autorisations de «groupe» soient associées à l'ID de compte.
3) chgrp hoidevs pour le répertoire / home / userz / data / Sites / hoi et créé un emplacement pour les fichiers
4) Ouverture d'une fenêtre de terminal, l'utilisateur userz était actif
5) su - hoiuser (remplacé par l'utilisateur hoiuser)
6) Tentative de cd / home / userz / data / Sites
7) Modification des autorisations pour les sites
Et voila problème résolu .... en voici la preuve
Même les utilisateurs expérimentés de Linux / Unix ont besoin d'un rappel de temps en temps.
Comme cela a été souligné, il ne suffit pas de simplement accorder les autorisations appropriées au répertoire où se trouvent les fichiers, vous devez également vous assurer que tous les répertoires menant à ce répertoire ont les autorisations appropriées, en particulier la possibilité pour "autre" de "rechercher" et recherchez le répertoire et les fichiers. À peine intuitif lorsque x signifie exécuter, à droite.
La structure de mon sous-répertoire était: / home / userz / data / Sites / hoi / html /
À partir de la maison
C'était ma structure de répertoire AVANT le chmod
C'était ma structure de répertoire APRÈS le chmod
Notez que le seul changement a été les autorisations rx pour «autre» pour le répertoire «Sites». J'espère que cela aide les autres, c'était un bon rappel pour moi.
la source
Vous devez avoir des autorisations sur le répertoire qui contient le fichier pour y accéder. Quelles sont les autorisations sur / home / git? (oui, Zoredache, je vous ai donné un +1 pour l'avoir signalé)
Suivi: Vous avez besoin du bit d'exécution (x) défini pour le groupe pour que ce groupe puisse entrer dans le répertoire. Considérez-le comme un analogue approximatif du paramètre Windows "Traverse Directory". Sans cela, l'accès sera refusé au groupe. Si vous êtes désespéré, vous pouvez faire:
Essayez ce qui suit et postez le message de chacun:
Chacun de ceux-ci devrait être accessible par
ftpadmin
. Si l'un d'eux ne l'est pas , cela vous empêchera d'entrer/home/git/fsg
.la source
/home/git
,/home/git/fsg
mais pour quels résultats/home
?Après avoir changé les groupes d'un utilisateur X via un accès root, vous devez vous déconnecter et vous reconnecter avec cet utilisateur X, sinon les nouveaux groupes ne seront pas pris en compte
la source
Essayez de vous reconnecter ou d'exécuter
su - ftpadmin
pour vous connecter à l'intérieur du shell actuel. Étant donné que les groupes sont définis lorsque vous vous connectez, il se peut que vous ayez ajouté telle ou telle chose à un groupe, mais les anciens paramètres de groupe sont toujours utilisés.la source