![Finger命令从哪里获取有关tty的写权限的信息](https://linux22.com/image/231323/Finger%E5%91%BD%E4%BB%A4%E4%BB%8E%E5%93%AA%E9%87%8C%E8%8E%B7%E5%8F%96%E6%9C%89%E5%85%B3tty%E7%9A%84%E5%86%99%E6%9D%83%E9%99%90%E7%9A%84%E4%BF%A1%E6%81%AF.png)
finger
我正在尝试在 Linux Mint 中用 C创建自己的命令。研究真正的finger
命令我了解到,使用短输出格式时命令在 tty 中放置的星号是当用户之一禁用写入权限时,我认为用于在 tty 之间发送和接收消息的权限,即可以通过命令启用mesg y
。
我的问题是,finger
从哪里获取tty的写权限信息?我尝试查看 utmp 文件,但找不到相关的内容:(
另外,如果我禁用与 GUI 连接的 tty 的写入权限,为什么该finger
命令会将星号放在 pts/0 条目上,而不是我的 tty 附近?
喜欢
matteo tty7 2:40 Apr 29 16:10 (:0)
matteo *pts/0 Apr 29 17:20
提前致谢,如果我写错了,抱歉,这是我第一次深入了解 Linux :)
答案1
写入权限是通过查看终端设备文件本身的权限来确定的;在你的情况下:
ls -l /dev/tty7 /dev/pts/0
可写终端将显示为crw--w--w-
,不可写终端将显示为crw-------
。
关于使用pts/0
代替tty7
,您的终端仿真器不使用与桌面环境关联的 VT ( tty7
),而是使用自己的 tty。所以mesg n
在终端模拟器中运行只影响终端的tty,而不影响VT。如果您tty
在终端模拟器中运行,您会看到它使用/dev/pts/0
.