openssh tty perms

时间:2012-10-08 10:05:18

标签: gdb openssh

对于每个ssh连接,都有一个关联的伪终端设置,如/dev/ttyp1 /dev/ttyp2等。

在openssh的某些代码路径中,/ dev / ttyp2权限从crw-rw-rw-(默认)更改为crwx-w----(连接设置后)。

有什么方法可以在openssh中看到哪个代码部分执行此操作? 可以使用gdb调试器,有什么办法可以“监视”特定文件的权限。

在openssh的某个函数中,session *s作为参数,s->tty设置为/dev/ttyp2,到那时perms没有设置'x'执行位。 但是在完全建立连接后,/ dev / ttyp2会设置'x'位。

我试着在s->tty变量的地址上观看,但这没有帮助。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

在openssh / sshpty.c中存在一个函数pty_setowner(),它实际上在为会话分配的tty设备上执行chmod。

我遇到的问题是chmod在tty dev文件上失败,而tty dev文件没有获得执行权限,因此我的终端上没有打印日志。

非常感谢。