
Cygwin で OpenSSH を使用して Git をセットアップしようとしています。ほぼすべてのセットアップが完了しました。エージェントと公開キーなどはすべて揃っていますが、次のような非常に奇妙なエラーが発生します。
$ git pull -u origin master
Bad owner or permissions on /home/Jordan/.ssh/config
fatal: The remote end hung up unexpectedly
Google で検索すると、権限エラーのようです (当然ですが)。 1 つの問題: 権限は問題ないように見えます。
も試してみましたchmod 0600 ~/.ssh/config
が、効果はありませんでした。私が試したこと:
Jordan@EarlzWindows8VM ~/dev/NonExceptional
$ chmod 0600 ~/.ssh/config
Jordan@EarlzWindows8VM ~/dev/NonExceptional
$ stat ~/.ssh/config
File: `/home/Jordan/.ssh/config'
Size: 47 Blocks: 1 IO Block: 65536 regular file
Device: 4ade2efdh/1256075005d Inode: 1970324837237461 Links: 1
Access: (0660/-rw-rw----) Uid: ( 1001/ Jordan) Gid: ( 513/ None)
Access: 2013-01-12 22:53:32.483072600 -0500
Modify: 2013-01-12 22:53:32.486074700 -0500
Change: 2013-01-12 23:27:33.077476800 -0500
Birth: 2013-01-12 22:53:32.483072600 -0500
何らかの理由で、アクセス許可がまだ になっていることに注意してください0660
。しかし、その理由はわかりません。Windows エクスプローラーでこれらのアクセス許可を確認しました。ファイルにアクセスできるのは私だけであり、「有効なアクセス」を確認すると、グループ Users にはファイルへのアクセス権がありません。
このエラーを修正するにはどうすればいいですか?
また、背景情報: Windows 8 Enterprise。ドメインに参加(権限設定が面倒)。Cygwin は最新です。
答え1
ACLを忘れないでください
ファイルを削除するまで何も機能しませんでしたACL について権限をリセットします。
#remove ACLs
setfacl -b ~/.ssh/config
#reset permissions
chmod 0600 ~/.ssh/config
getfacl
ファイルの現在の ACL を表示するには、を使用できます。
getfacl ~/.ssh/config
ACL を削除する前 (破損):
# owner: Administrators
# group: None
user::rw-
group::---
group:Authenticated Users:rwx
group:SYSTEM:rwx
mask:rwx
other:---
後: (作業中)
# file: config
# owner: myusername
# group: None
user::rw-
group::---
other:---
答え2
私はこれが常に問題を解決することを発見しました:
chown Username:Users ~/.ssh/config
chmod go-rw ~/.ssh/config
答え3
問題は、ファイルがグループ「なし」によって所有されていたことです。グループを「ユーザー」に変更すると、権限を自由に変更できるようになりました。
私はこれをこの関連する質問
答え4
私の cygwin64 は管理者として win7 上で実行されていますが、chmod/chown/setacl/icacls/copyacls/ は役に立ちませんでした。ただし、次の方法だけが機能しました:ssh -F ~/.ssh/config ...