ルートは他のユーザーのシンボリックリンクソケットに接続できません

ルートは他のユーザーのシンボリックリンクソケットに接続できません

SSH_AUTH_SOCK私は現在作成した静的シンボリックリンクにoh-my-zshのssh-agentプラグインを使用しています。プロキシ転送が有効なSSHを介して接続すると、ファイルは次に/tmp/ssh-agent-$USER-screenシンボリックリンクされます/tmp/ssh-<whatever>/agent.<some numbers>

agross@router ~
$ ls -la /tmp/ssh-agent*
lrwxrwxrwx. 1 agross agross 30 Jan  7 21:35 /tmp/ssh-agent-agross-screen -> /tmp/ssh-uoof1WiDSw/agent.7745

agross@router ~
$ ls -la /tmp/ssh-uoof1WiDSw/
srwxr-xr-x. 1 agross agross  0 Jan  7 21:35 agent.7745

シンボリックリンクを正常にテストしましたssh-add -l

agross@router ~
$ ssh-add -l
2048 15:5a:dd... /home/agross/.ssh/id_rsa (RSA)

agross@router ~
$ echo $SSH_AUTH_SOCK
/tmp/ssh-agent-agross-screen

suシンボリックリンクにアクセスできなくなりましたが、シンボリックリンクターゲットは正しく機能します。

[root@router ~]# socat -v - UNIX-CONNECT:/tmp/ssh-agent-agross-screen
2016/01/07 21:51:04 socat[16054] E connect(3, AF=1 "/tmp/ssh-agent-agross-screen", 30): Permission denied

[root@router ~]# socat - UNIX-CONNECT:/tmp/ssh-uoof1WiDSw/agent.7745
<empty line is printed so I guess I'm connected>

[root@router ~]# echo $SSH_AUTH_SOCK
/tmp/ssh-agent-agross-screen

[root@router ~]# ssh-add -l
Could not open a connection to your authentication agent.

[root@router ~]# SSH_AUTH_SOCK=/tmp/ssh-uoof1WiDSw/agent.7745 ssh-add -l
2048 15:5a:dd... /home/agross/.ssh/id_rsa (RSA)

私の研究では、シンボリックリンクの権限は評価されていませんが、むしろシンボリックリンクのターゲットに対する権限は、ユーザー(ルート?)がファイルにアクセスできるかどうかを判断することに関連していることを示しました。そしてシンボリックリンクターゲットにアクセスするのは完全に機能します。

ここで何が間違っている可能性がありますか?

万が一に備えてCentOS 7を実行しています。ありがとうございます!


更新された質問:

SSH_AUTH_SOCK輸出済み

しかし、シンボリックリンクに接続できないことは重要ではないと思いますsocat

[root@router ~]# export | grep SSH
declare -x SSH_AUTH_SOCK="/tmp/ssh-agent-agross-screen"

SELinux

これはそれとは何の関係もないようです。

[root@router ~]# getenforce
Enforcing
[root@router ~]# setenforce 0
[root@router ~]# socat - UNIX-CONNECT:/tmp/ssh-agent-agross-screen
2016/01/08 09:54:09 socat[21673] E connect(3, AF=1 "/tmp/ssh-agent-agross-screen", 30): Permission denied
[root@router ~]# setenforce 1
[root@router ~]# socat - UNIX-CONNECT:/tmp/ssh-agent-agross-screen
2016/01/08 09:54:45 socat[21675] E connect(3, AF=1 "/tmp/ssh-agent-agross-screen", 30): Permission denied

~のシンボリックリンクと/ tmpのシンボリックリンクの比較

ヒントをくれた@masmに感謝します。私のホームディレクトリのシンボリックリンクは機能しますが、/ tmpのシンボリックリンクは機能しません。

[root@router ~]# ls -lZ /home/agross
lrwxrwxrwx. agross agross unconfined_u:object_r:user_home_t:s0 foo -> /tmp/ssh-QlnhyjUQDp/agent.15895

[root@router ~]# socat -v - UNIX-CONNECT:/home/agross/foo
<empty line>

[root@router ~]# ls -lZ /tmp
lrwxrwxrwx. agross agross unconfined_u:object_r:user_tmp_t:s0 ssh-agent-agross-screen -> /tmp/ssh-QlnhyjUQDp/agent.15895

[root@router ~]# socat -v - UNIX-CONNECT:/tmp/ssh-agent-agross-screen
2016/01/08 18:14:48 socat[15989] E connect(3, AF=1 "/tmp/ssh-agent-agross-screen", 30): Permission denied

ベストアンサー1

fs.protected_symlinks=1犯人は次のとおりです。

[root@router ~]# sysctl fs.protected_symlinks
fs.protected_symlinks = 1
[root@router ~]# sysctl -w fs.protected_symlinks=0
fs.protected_symlinks = 0

[root@router ~]# socat -v - UNIX-CONNECT:/tmp/ssh-agent-agross-screen

[root@router ~]# sysctl -w fs.protected_symlinks=1
fs.protected_symlinks = 1

[root@router ~]# socat -v - UNIX-CONNECT:/tmp/ssh-agent-agross-screen
2016/01/09 01:46:21 socat[20591] E connect(3, AF=1 "/tmp/ssh-agent-agross-screen", 30): Permission denied

名誉:https://askubuntu.com/questions/599719/how-can-i-set-a-symlink-from-tmp-mysql-sock

おすすめ記事