Ich habe vor kurzem mit dem .ssh-Verzeichnis rumgespielt. Ich glaube, es wurden einige Berechtigungsänderungen vorgenommen, und jetzt kann ich nicht mehr darauf zugreifen. Ich kann als root-Benutzer darauf zugreifen (sudo -i), aber nicht als somesh
Ich erhalte die Erlaubnis verweigert, wenn ich in .ssh aufführe oder cde, obwohl die Dateien angezeigt werden
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
Wenn Sie sich als root und ls anmelden, erhalten Sie die folgenden Ergebnisse
# ls -l /home/somesh/ -a |grep ssh
drw-rw-rw- 2 somesh somesh 4096 Aug 27 15:45 .ssh
Sogar die darin enthaltenen Dateien sind .ssh und gehören somesh: somesh und 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
quelle
quelle
~/.ssh
Verzeichnis ist700
(drwx------
).Antworten:
Steeldriver ist richtig. Im Verzeichnis müssen Sie auch
x
auf das Flag zugreifen, um Dateien darin auflisten zu können.Das Reparieren des Verzeichnisses mit
chmod 700 ~/.ssh
sollte Ihnen helfen, in diesen (korrekten) Zustand zu gelangen:Außerdem sollten Sie Ihre Schlüssel mit
chmod 600 ~/.ssh/id_rsa
und reparieren, um Folgendeschmod 644 ~/.ssh/*.pub
zu erhalten:quelle
Wenn Sie den Befehl ls -l in einem beliebigen Verzeichnis ausführen, ist die erste Spalte die Berechtigungsspalte, die wie folgt interpretiert wird:
1 ------------- 2 3 4 ------- 5 6 7 ------- 8 9 10
(TYP) ---- (Benutzer) ----- (Gruppe) ---- (andere)
TYP: Bei '-' handelt es sich um eine Datei. Bei 'd' handelt es sich um ein Verzeichnis.
Berechtigungen: Lesen: 4, Schreiben: 2, Ausführen: 1
Zum Lesen, Schreiben und Ausführen sind Ihre Berechtigungen also 7 in der Benutzergruppe.
Sie können verwenden
oder
-R - Hiermit wird die Berechtigung des übergeordneten Ordners und der untergeordneten Objekte geändert
quelle
chmod 700 file_name
undchmod u+x file_name
mache zwei völlig verschiedene Dinge. Der erste setzt die Berechtigungen aufrwx/---/---
, der zweite setzt nur dasx
Bit für den Eigentümer (und ab666
hier ändert sich die Datei in766
, nicht in700
).-
Zeichen bedeutet, dass es eine "normale" Datei ist. Ad
bedeutet, es ist ein Verzeichnis. Es gibt andere, auch, wiec
,l
(für symbolische Verbindung),s
und noch mehr für andere Betriebssysteme.