꼭두각시 - 로그인한 사용자를 제거하시겠습니까?

꼭두각시 - 로그인한 사용자를 제거하시겠습니까?

방금 꼭두각시를 배우기 시작했는데 문제를 발견했습니다. 해결 방법을 아는 사람이 있는지 궁금합니다. 사용자를 제거하려고 하는데 해당 사용자가 로그인되어 있으므로 제거할 수 없다는 오류 메시지가 나타납니다.

이제 이 경우에는 사용자가 어떤 서버에 로그인했는지 알 수 있으므로 간단히 사용자를 로그아웃하고 거기서부터 진행할 수 있습니다. 그런데 제 질문은 사용자가 어떤 서버에 로그인했는지 모를 때 어떻게 하느냐는 것입니다. 서버가 많을 수 있다는 점을 염두에 두세요.

강제 제거 옵션이나 꼭두각시에서 사용자를 로그아웃시키는 방법이 있습니까?

아래 코드:

user {'art':

ensure => absent,

}

오류:

오류: 사용자 아트를 삭제할 수 없습니다. '/usr/sbin/userdel art' 실행 시 8이 반환되었습니다. userdel: 사용자 아트가 현재 로그인되어 있습니다.

오류: /Stage[main]/Main/Node[demo]/User[art]/ensure: 현재에서 없음으로 변경 실패: 사용자 아트를 삭제할 수 없습니다: '/usr/sbin/userdel art' 실행 시 8이 반환됨: userdel : 사용자 아트가 현재 로그인되어 있습니다

답변1

사용자가 소유한 모든 프로세스를 종료하는 exec 리소스를 만들 수 있습니다.

다음과 같이 보일 것입니다 :

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

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

관련 정보