Puppet-删除已登录的用户?

Puppet-删除已登录的用户?

我刚刚开始学习 puppet,遇到了一个问题,想知道是否有人知道如何解决。我试图删除一个用户,但收到一条错误消息,指出他们已登录,因此无法删除。

现在,在这种情况下,我知道他们登录了哪个服务器,所以我可以简单地注销用户并从那里继续。但是我的问题是,当你不知道他们登录了哪个服务器时,你会怎么做?请记住,可能有很多服务器。

是否有强制删除选项或方法在 Puppet 中注销用户?

代码如下:

user {'art':

ensure => absent,

}

错误:

错误:无法删除用户 art:执行“/usr/sbin/userdel art”返回 8:userdel:用户 art 当前已登录

错误:/Stage[main]/Main/Node[demo]/User[art]/ensure:从出席更改为缺席失败:无法删除用户 art:执行“/usr/sbin/userdel art”返回 8:userdel:用户 art 当前已登录

答案1

您可以创建一个 exec 资源来终止用户拥有的所有进程。

看起来像这样:

   exec {'kill-art':
     command => 'pkill -u art',
     onlyif  => 'pgrep -u art',
   }

   user {'art':
     ensure  => absent,
     require => Exec['kill-art'],
   }

相关内容