假设具有sudo特权的非root用户执行延迟关闭(shutdown +10或执行任何操作)并注销。然后,在关闭之前,他想重新登录并取消关闭。问题是,shutdown创造/etc/nologin,并login只允许root身份登录时,该文件存在于...是有可能创造从这个异常的用户?
如果不是,那么让用户启动延迟关闭然后登录并在稍后取消它的最佳方法是什么?
假设具有sudo特权的非root用户执行延迟关闭(shutdown +10或执行任何操作)并注销。然后,在关闭之前,他想重新登录并取消关闭。问题是,shutdown创造/etc/nologin,并login只允许root身份登录时,该文件存在于...是有可能创造从这个异常的用户?
如果不是,那么让用户启动延迟关闭然后登录并在稍后取消它的最佳方法是什么?
Answers:
如果您的系统使用PAM,/etc/nologin则pam_nologin模块将触发拒绝登录(如果存在)。
您可以通过跳过pam_nologin与某些条件匹配的用户的调用pam_succeed_if。例如,如果您要允许adm组中的用户登录文本控制台(即使/etc/nologin存在),请在以下行/etc/pam.d/login之前添加以下行auth requisite pam_nologin.so:
auth [default=ignore success=1] pam_succeed_if.so quiet user ingroup adm
吉尔斯的上述回答非常好,但请注意,您必须将“类型”与pam_nologin.so的类型匹配。例如,在我的RHEL5系统上:
account [default=1 success=ignore] pam_succeed_if.so quiet user ingroup nx
account required pam_nologin.so
...如果我使用auth,则按照其他要求,它将无法正常工作。
shutdown now将at调度程序用作一种解决方法。