.sshディレクトリで666に設定されていますが、所有者に対するアクセス許可が拒否されました


12

私は最近.sshディレクトリをいじりました。許可の変更をいくつか行ったので、もうアクセスできなくなりました。rootユーザー(sudo -i)としてはアクセスできますが、someshとしてはアクセスできません

ファイルが表示されていても、.sshにリストまたはcdingするときに許可が拒否されます

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

rootおよびlsとしてログインすると、次の結果が得られます

# ls -l /home/somesh/ -a |grep ssh
drw-rw-rw-  2 somesh somesh 4096 Aug 27 15:45 .ssh

内部のファイルも.sshがsomesh:someshと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

5
chmod 644がディレクトリにアクセスできない理由をご覧ください。私の知る限り、~/.sshディレクトリの正しい権限は700drwx------)です。
スチールドライバー

回答:


21

Steeldriverは正しい。ディレクトリでは、x内部のファイルをリストできるようにフラグにもアクセスする必要があります。

を使用してディレクトリを修正すると、chmod 700 ~/.sshこの(正しい)状態になるのに役立ちます。

$ ls -ld ~/.ssh
drwx------. 2 user user 4096 Aug 26 10:37 /home/user/.ssh

また、あなたが使用してあなたの鍵を修正する必要がありますchmod 600 ~/.ssh/id_rsaし、chmod 644 ~/.ssh/*.pubこれを取得します:

$ ls -l ~/.ssh/
-rw-------. 1 user user  1766 Mar  7  2014 id_rsa
-rw-r--r--. 1 user user   415 Mar  7  2014 id_rsa.pub

私は戻って、それをコピーし、それがどこか別の場所にコピーしてによって、自分自身の前にこの問題を解決するために管理
Someshムカジーを

-2

任意のディレクトリでコマンドls -lを実行すると、最初の列は許可列であり、次のように解釈されます。

1 ------------- 2 3 4 ------- 5 6 7 ------- 8 9 10

(タイプ) - - (ユーザー) ----- (グループ) ----(その他)

タイプ:If '-'の、ファイルです。「d」の場合、ディレクトリです。

権限:読み取り:4、書き込み:2、実行:1

したがって、読み取り、書き込み、実行の許可は 、ユーザーグループ 7になります。

使用できます

sudo chmod 7 6 6 file_name 

または

sudo chmod -R u+x /home/somesh/.ssh 

-R-これは、親フォルダーと内の子オブジェクトの許可を変更します


2
TYPEの部分がわかりません。またchmod 700 file_namechmod u+x file_name2つのまったく異なることを行います。最初のものはパーミッションをrwx/---/---に設定し、2番目のものxは所有者のビットを設定するだけです(そして666それから開始すると、ファイルはに766ではなくに変更されます700)。
コス

1
@kos、s / heは、文字列の最初のフィールドがファイルエントリのタイプを示すことを意味します。-文字は、それが「通常の」ファイルであることを意味します。Aは、dそれがディレクトリであることを意味します。他の人のような、あまりにも、ありcl(シンボリックリンクの場合)、sであり、さらに他のOSのために。
ジョシュ

@Josh Yep、レイアウトは私を混乱させました。
コス
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.