![Puppet-删除已登录的用户?](https://linux22.com/image/1415977/Puppet-%E5%88%A0%E9%99%A4%E5%B7%B2%E7%99%BB%E5%BD%95%E7%9A%84%E7%94%A8%E6%88%B7%EF%BC%9F.png)
我刚刚开始学习 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'],
}