たくさんあります設定この質問について:
rpi5.local
2つのユーザーアカウントを持つホスト()があります:pi
とcake
。
私はナビゲートしたいと思い、「サーバー/ソース」リポジトリを「所有」するためのアカウントを作成git
しました。cake
ユーザーとしてcake
名前がサブフォルダーであるフォルダー()/home/cake
を作成します。を使用してこのリポジトリを初期化するプロセスを経ました。git-srv
projectA
git init --bare
最初は、projectA
他のホスト()からサーバーのリポジトリを「入力しました」rpi4b.local
。次の順序で、push
SSHを介してホスト上の呼び出されたフォルダからリポジトリにいくつかのファイルを編集しました。Aproject
raspberrypi4b.local
projectA
$ hostname
rpi4b.local
$ pwd
/home/pi/Aproject
$ git push -u ssh://[email protected]/home/cake/git-srv/projectA.git
これは素晴らしい作品です。
ユーザーpi
としてclone
リポジトリprojectA
を。/home/pi/XYZ
commit
/home/pi/XYZ
push
$ hostname
rpi5.local
$ pwd
/home/pi/XYZ
$ git push -u /home/cake/git-srv/projectA.git
この取り組みによってエラーが発生しました。
...
error: remote unpack failed: unable to create temporary object directory
To /home/cake/git-srv/projectA.git
! [remote rejected] master -> master (unpacker error)
error: failed to push some refs to '/home/cake/projectA.git'
このエラーを調べた後、私はこれがエラーであると結論付けました。特権pi
との間に問題がありますcake
。私調べた解決策はsu cake
ユーザーとしてpi
それをやり直してみpush
ました。最後に、私の質問は次のとおりです。
$ whoami
cake
$ hostname
rpi5.local
$ pwd
/home/pi/XYZ
$ git push -u /home/cake/git-srv/projectA.git
fatal: failed to stat '/home/pi/motd.git': Permission denied
この場合、どういう意味ですかfailed to stat
?簡単な方法がありますか?解決策?
答え1
「数え切れない」とは電話を意味します。stat
エラーを返します。つまりこれを実行しているユーザーにgit
アクセス権がありません。これは、ユーザーにアクセス権がない/home/pi/motd.git
ためです。cake
/home/pi
この場合、最も簡単な方法は正しい権限セットを見つけるのではなくSSHを再利用することです(同じシステムでもgit push ssh://git@localhost:/home/cake/git-srv/projectA.git
)git push ssh://cake@localhost:git-srv/projectA.git
。