如何以 root 身份调用可执行文件而无需使用 sudo?

如何以 root 身份调用可执行文件而无需使用 sudo?

我创建了一个应用程序,它也使用 TPM 进行签名/加密/解密(使用库tss2-fapi)...但是对于 Linux(Ubuntu)权限,我还是个新手。现在,当我运行该应用程序时,我总是必须以以下方式运行它:

sudo ./tpmProjectApp

像这样运行应用程序不会产生任何问题。

我希望任何登录的用户(也具有有限的权限)运行此可执行文件,但我不希望他们以任何其他方式与 TPM 通信。

所以我想知道,有没有什么方法可以让用户无需使用即可运行该应用程序sudo

我尝试使用以下命令将可执行文件分配给 root:

sudo chown root ./tpmProjectApp

并设置 setuid 位(我也尝试过g+s):

sudo chmod u+s tpmProjectApp

权限如下所示:

-rwsrwsrwx 1 root root 713608 apr 14 16:02 tpmProjectApp*

但是当我运行时./tpmProjectApp会出现通常不会出现的错误。

例如:未找到密钥 P_RSA2048SHA256/HS/SRK/myRsaKey。

但我知道密钥存在,因为如果我用 运行它,应用程序就会起作用sudo

我认为,如果出现问题,为该可执行文件分配 root 权限可能比尝试修改 TPM 文件更省事。

相关内容