当输出显示在另一个终端中时,为什么不询问密码

当输出显示在另一个终端中时,为什么不询问密码

当我使用时:

date > /dev/tty3

输出被传送到第一个 cli 终端。

但我的问题是为什么终端不要求输入密码。我们使用终端进行输出,命令被传递到终端,那么如何在不询问密码的情况下向我们显示输出。

答案1

因为您已经可以访问该终端,因为它属于您的用户。例如:

$ tty
/dev/pts/10

$ ls -l /dev/pts/10
crw--w---- 1 terdon tty 136, 10 Sep 16  2022 /dev/pts/10

所以我拥有这个。我现在打开一个新终端并运行:

$ date > /dev/pts/10

而且,正如预期的那样,它出现在我的第一个终端窗口中。现在,如果我像root使用一样打开终端sudo xterm,我会看到以下内容:

[root@oregano terdon]# tty
/dev/pts/12

如果我尝试以普通用户身份写入该终端,我会得到:

$ ls -l /dev/pts/12
crw--w---- 1 root tty 136, 12 Sep 16 14:06 /dev/pts/12

$ date > /dev/pts/12
bash: /dev/pts/12: Permission denied

因此,没有密码请求,但您只能写入您有写入权限的终端。

相关内容