如何测试程序是否由控制台用户调用?
我已经构建了一个通过以下方式模拟 HID 设备的应用程序/dev/uhid在Linux上。我的应用程序分为两个程序。首先,一个非常简单的 setuid root 二进制文件,它/dev/uhid仅打开并模拟一个设备,将消息来回传递给调用它的程序。其次,一个应用程序实际上包含所有设备逻辑,并使用其他二进制文件来封装uhid_event消息并与内核通信。 任何具有控制台访问权限的人都可以插入硬件 USB 设备,但为了安全起见,我希望 setuid 程序拒绝代表非控制台用户运行。 我的问题:setuid root 应用程序检查它是否由控制台用户调用并在没有调用时进...