我正在我的 arch linux 版本上设置有限的帐户来运行游戏或 Windows 二进制文件等专有软件。这些受限帐户对我的个人文件夹或操作系统中我认为敏感的任何其他区域没有读/写访问权限。
我将使用以下命令以受限用户身份运行应用程序:
bash -c 'xhost +local:steam;sudo -u steam -H steam /home/limited.users/steam'
这当然要求我每次以受限用户身份启动某些内容时都输入 sudo 密码。
试图找到一种方法来解决必须一直输入密码的问题,我最终发现了这篇文章,它试图做与我完全相同的事情:
在一个名为允许您自己的用户帐户在 wine 帐户下启动命令,他建议编辑 visudo 并在末尾添加以下行:
他的例子:
bob ALL=(wine) NOPASSWD: ALL
更一般地说:
yourUSERname ALL=(theACCOUNTyourTRYINGrunUNDER) NOPASSWD: ALL
在没有密码的情况下,能够以比我自己的帐户权限更少的其他用户身份运行应用程序,这对我来说是无害的。话虽这么说,我对 visudo 没有非常透彻的了解,我想知道这条线除此之外是否还能做其他事情?
答案1
尝试
bob ALL=(wine) NOPASSWD: /home/limited.users/steam
关键是您可以ALL
用逗号分隔的允许命令列表替换。
请注意,如果有其他条目bob
without NOPASSWD
,没有的规则NOPASSWD
可能需要放在第一位。