J'ai récemment joué avec le répertoire .ssh. J'ai fait quelques changements de permission, je pense et maintenant ça ne me permettra plus d'y accéder. Je peux y accéder en tant qu'utilisateur root (sudo -i) mais pas en tant que somesh
J'obtiens une autorisation refusée lors de l'inscription ou de la fusion dans .ssh même s'il affiche les fichiers
ls: cannot access /home/somesh/.ssh/amazon.pem: Permission denied
ls: cannot access /home/somesh/.ssh/id_rsa: Permission denied
ls: cannot access /home/somesh/.ssh/known_hosts: Permission denied
ls: cannot access /home/somesh/.ssh/id_rsa.pub: Permission denied
total 0
-????????? ? ? ? ? ? amazon.pem
-????????? ? ? ? ? ? id_rsa
-????????? ? ? ? ? ? id_rsa.pub
-????????? ? ? ? ? ? known_hosts
La connexion en tant que root et ls donne les résultats suivants
# ls -l /home/somesh/ -a |grep ssh
drw-rw-rw- 2 somesh somesh 4096 Aug 27 15:45 .ssh
Même les fichiers à l'intérieur sont .ssh appartiennent à somesh: somesh et chm
-rw-rw-rw- 1 somesh somesh 1692 Aug 27 15:45 amazon.pem
-rw-rw-rw- 1 somesh somesh 1675 Aug 25 20:01 id_rsa
permissions
ssh
chmod
Somesh Mukherjee
la source
la source
~/.ssh
répertoire est700
(drwx------
).Réponses:
Steeldriver a raison. Sur le répertoire, vous devez également
x
accéder à l'indicateur pour pouvoir répertorier les fichiers à l'intérieur.La correction du répertoire à l'aide
chmod 700 ~/.ssh
devrait vous aider à entrer dans cet état (correct):Vous devez également corriger vos clés à l'aide de
chmod 600 ~/.ssh/id_rsa
etchmod 644 ~/.ssh/*.pub
pour obtenir ceci:la source
Lorsque vous exécutez la commande ls -l sur n'importe quel répertoire, la première colonne est la colonne d'autorisation qui est interprétée comme suit:
1 ------------- 2 3 4 ------- 5 6 7 ------- 8 9 10
(TYPE) ---- (utilisateur) ----- (groupe) ---- (autres)
TYPE: Si '-' , c'est un fichier. Si 'd' c'est un répertoire.
Autorisations: lecture: 4, écriture: 2, exécution: 1
Ainsi, pour la lecture, l'écriture et l'exécution, vos autorisations seront de 7 dans le groupe d'utilisateurs.
Vous pouvez utiliser
ou
-R - cela modifie l'autorisation du dossier parent et des objets enfants dans
la source
chmod 700 file_name
etchmod u+x file_name
faire deux choses complètement différentes. Le premier définit les autorisations surrwx/---/---
, le second définit simplement lex
bit pour le propriétaire (et à partir de666
celui-ci, le fichier sera remplacé par766
, pas par700
).-
caractère signifie que c'est un fichier "normal". Ad
signifie qu'il s'agit d'un répertoire. Il y en a aussi d'autres, commec
,l
(pour le lien symbolique)s
, et encore plus pour d'autres OS.