私はそれを使用していますアンシプールリモートサーバーを設定するには、SSHエージェントを使用してgit clone
リポジトリに転送します。bitbucket.orgsudo
以下を含む環境変数を保持するためにディレクトリ内のファイルを使用しているため、ローカルSSHキーを使用してください。SSH_AUTH_SOCK
/etc/sudoers.d/
Defaults env_keep += SSH_AUTH_SOCK
これにより、この環境変数を使用できるようになりますsudo
。問題は、web
利用可能なソケットファイルにアクセスできない他のユーザーに複製しようとするときですSSH_AUTH_SOCK
。
0777
現在、このユーザーに対してソケットディレクトリの所有権を繰り返し設定しているため、ソケットファイルに権限を付与しません。
$ ls -l /tmp
drwx------ 2 web web 4096 Aug 7 09:09 ssh-PcIG22W1CM
これはすべてAnsibleを使用して行われましたが、この質問は他の状況にも適用されるため、Ansibleコードを共有しません。
rwx
誰にも権限を与えずにこのソケットファイルを共有する最善の方法は何ですか?
ベストアンサー1
ルートとして、以下を使用してソケットをブリッジできます。
socat UNIX-LISTEN:/var/run/authsocket.sock,umask=077,user=web,fork "UNIX:$SSH_AUTH_SOCK"
Linuxで、これは他のユーザーがconnect()
このソケットにアクセスするのを防ぎます。
Linuxではsetfacl user:$user:w $SSH_AUTH_SOCK
ソケット()にACLを設定しようとしていますが、OpenSSHクライアントはEUIDの確認ソケットに対する権限で、所有者およびrootユーザーにのみ許可されます。