set __COMPAT LAYER=RunAsInvoker
如果存在的话,linux 的等效项是什么?
答案1
运行“作为调用者”基本上意味着“忽略应用程序需要管理员权限的任何提示”,因此它只是抑制 UAC 对话框并假装您拒绝以管理员身份运行(但仍然启动应用程序)。
没有直接的等价物,因为没有 UAC 对话框——您能得到的最接近的方法是通过二进制解释器而不是直接运行程序,这会忽略二进制文件上的任何 set-user-id 位(即应用程序运行时使用比通常情况下的权限要低)。找出解释器,例如使用file
:
$ file /usr/games/sl
/usr/games/sl: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, …
然后运行
$ /lib64/ld-linux-x86-64.so.2 /usr/games/sl
...将以您的用户身份运行它,无论二进制文件上是否设置了 suid 标志。