Gdb openssh-tty-perms

Gdb openssh-tty-perms,gdb,openssh,Gdb,Openssh,对于每个ssh连接,都会设置一个相关的伪终端,如/dev/ttyp1/dev/ttyp2等 在openssh的某些代码路径中,/dev/ttyp2权限从crw-rw-(默认)更改为crwx-w--(连接设置后) 有什么方法可以让我看到哪个代码段在openssh中实现了这一点? 可能是使用gdb调试器,是否有任何方法可以“监视”特定文件权限 在openssh中的某些函数中,以session*s作为参数,s->tty被设置为/dev/ttyp2,此时perms没有设置'x'执行位。 但在连接完全设置

对于每个ssh连接,都会设置一个相关的伪终端,如
/dev/ttyp1/dev/ttyp2

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

有什么方法可以让我看到哪个代码段在openssh中实现了这一点? 可能是使用gdb调试器,是否有任何方法可以“监视”特定文件权限

在openssh中的某些函数中,以
session*s
作为参数,
s->tty
被设置为
/dev/ttyp2
,此时perms没有设置
'x'
执行位。 但在连接完全设置之后,/dev/ttyp2将设置“x”位

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


有什么想法吗?

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

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

无论如何谢谢你