如何强制sudo在挂起唤醒后始终要求输入密码?

Modified on: Thu, 14 Jun 2018 06:15:53 +0800

假设我使用sudo执行命令,然后如果我在下一个sudo 如何获取sudo-to-prompt-for-a-password-every-time#comment907968_636095“> 15/5分钟(不知道它记得多长时间)它不会提示我输入密码。如果我至少没有使用它,它只会再次提示我。

但是,如果我暂停我的机器,将其唤醒,并在该时间段结束前登录,我可以再次执行sudo命令,它不会要求我输入密码,因为我没有让它在一定的时间内。

所以我怎么能这样做,无论我多久没有使用sudo,一旦我再次登录,它肯定会在暂停后提示我输入密码,甚至如果我仍然在那个没有使用sudo的15/5分钟尚未过去的时间范围内?

最有可能的工作是让它执行一个命令,在执行唤醒时执行的某个命令时删除sudo的所有身份缓存。

我正在使用GNOME 3.18运行Ubuntu GNOME 15.10。

最佳答案

来自man sudo

     -K, --remove-timestamp
                 Similar to the -k option, except that it removes the user's
                 cached credentials entirely and may not be used in conjunc‐
                 tion with a command or other option.  This option does not
                 require a password.  Not all security policies support cre‐
                 dential caching.

所以你想要的是你的用户每次系统挂起时都运行sudo -K

Ubuntu 15.04+(systemd)

这可以通过在/lib/systemd/system-sleep/中放置脚本在Ubuntu 15.04+上完成。

  1. 运行sudo nano /lib/systemd/system-sleep/disable_sudo_user(为方便起见,将user替换为用户的用户名);
  2. 粘贴以下脚本(用您用户的用户名替换user):
  3. 醇>
    #!/bin/sh
    case $1/$2 in
        pre/suspend)
            su user -c 'sudo -K'
            ;;
    esac
    
    1. 点击 CTRL + O ENTER CTRL + X

    2. 运行sudo chmod o+x /lib/systemd/system-sleep/disable_sudo_user;

    3. 醇>

      要为休眠/混合睡眠启用此功能,请改用此脚本:

      #!/bin/sh
      case $1 in
          pre)
              su user -c 'sudo -K'
              ;;
      esac
      

      以前的Ubuntu版本(Upstart)

      这可以通过在/etc/pm/sleep.d/中放置脚本在以前的Ubuntu版本上完成。

      1. 运行sudo nano /etc/pm/sleep.d/disable_sudo_user(为方便起见,将user替换为您用户的用户名);
      2. 粘贴以下脚本(用您用户的用户名替换user):
      3. 醇>
        #!/bin/sh
        case $1 in
            suspend)
                su user -c 'sudo -K'
                ;;
        esac
        
        1. 点击 CTRL + O ENTER CTRL + X

        2. 运行sudo chmod o+x /etc/pm/sleep.d/disable_sudo_user;

        3. 醇>

          要为休眠启用此功能,请改用此脚本:

          #!/bin/sh
          case $1 in
              suspend|hybernate)
                  su user -c 'sudo -K'
                  ;;
          esac
          
作者:,kos

相关问答

添加新评论