0

对于每个 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变量的地址,但这无济于事。

有任何想法吗?

4

1 回答 1

0

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

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

不管怎么说,多谢拉。

于 2012-10-09T11:09:06.150 回答