由于某些原因,为了利用系统管理命令,有必要使用双因素帐户。该帐户与普通登录帐户不同。例如,如果标准登录帐户是“alice”,则双因素帐户可能是“alice2”。
我有一个sudo
类似于以下内容的文件(每个允许的用户一个,位于 /etc/sudoers.d 中):
Defaults:alice runaspw,runas_default=alice2
alice ALL=(alice2) /bin/bash
这是因为系统会提示“alice”输入“alice2”的密码(这是一个只有两因素的密码),然后“alice”更改为“alice2”帐户。从那里,我有一个单独的文件,允许 alice2无需密码sudo
即可使用任何命令。sudo
因此,就双因素身份验证而言,一切似乎都很好。但是,有一些命令不受此两因素方法的限制(例如在某些计算机上重新启动某些服务)。我想,我也有这样的工作,比如
Cmnd_Alias SRVCHTTPD = /usr/bin/systemctl restart httpd
Defaults!SRVCHTTPD !runaspw,runas_default=root
这里,提示用户“alice”输入“alice”的密码,并且可以重新启动服务。
现在是我的问题。当用户查看sudo -l
可以执行哪些命令时,系统会提示用户输入双因素帐户 (alice2),而不是主帐户 (alice)。我尝试添加命令别名(遵循关于 sudo -l 的建议),本质上是复制上面的行。
Cmnd_Alias SUDOLIST = /usr/bin/sudo -l
Defaults!SUDOLIST !runaspw,runas_default=root
然而这种做法并没有起到作用,仍然提示用户输入双因素账户密码。
对于我在这里做得不正确的任何建议,我将不胜感激。