暂时删除管理员权限的脚本

暂时删除管理员权限的脚本

我正在创建一个自控工具对于管理员来说。该脚本由管理员运行时会自动放弃管理员权限。管理员可以通过再次运行脚本来重新获得管理员权限,但会面临故意延迟(例如 20 分钟)。

这样做的好方法是什么?

我的解决方案

假设管理员名为my-admin。我当前的解决方案如下:

  • 添加一个文件,/etc/sudoers.d允许以 rootmy-admin身份运行脚本/usr/local/bin/delayed-admin
  • 该脚本/usr/local/bin/delayed-admin执行以下操作: 如果my-admin是组的一部分admin,则会将其从组中删除。如果my-admin不在admin组中,则它会休眠 20 分钟,然后将其添加到admin组中。

这似乎可行,但我不喜欢每次都弄乱 sudoer 文件的想法。

答案1

我对此会非常谨慎,因为它会被视为一个主要的安全漏洞,因为任何人都可能运行此脚本并获得对您系统的管理员访问权限。

提供 sudoers 和 suders.d 配置的替代方案。我建议让脚本检查您是否属于管理员组,然后运行 ​​achmod -aG admins my-admin添加帐户或gpasswd -d my-admin admins运行 a 删除帐户。

相关内容