사용자 로그아웃 및 계정 삭제

사용자 로그아웃 및 계정 삭제

특정 사용자가 대량 메일러를 사용하고 있고 IP 주소가 블랙리스트에 등록되어 있는 서버(CentOS 6, Plesk 11.5)에 문제가 있습니다. 다음을 사용하여 사용자를 삭제하려고 했습니다.

/usr/sbin/userdel test

하지만 사용자가 현재 로그인되어 있다는 메시지가 반환됩니다. 나는 괜찮다고 생각했습니다. 프로세스를 종료하십시오. 그래서 나는 다음을 시도한다:

pkill -u test

다음을 사용하여 계정을 잠급니다.

passwd -l test

이렇게 하면 향후에 해당 사용자가 시스템에 로그인하는 것을 방지할 수 있습니다.

여전히 사용자가 로그인되어 있다고 표시됩니다. 이 사용자를 시스템에서 제거하려면 어떻게 로그아웃해야 합니까?

답변1

먼저 모든 "테스트" 사용자의 프로세스를 grep하고 모든 pid를 -9로 종료한 다음 사용자를 삭제하십시오.

pgrep -u test
ps -fp $(pgrep -u test)
killall -KILL -u test
userdel -r test

답변2

passwd -l <user>

가능한 모든 로그인 방법이 차단되는 것은 아닙니다. 예를 들어 ssh공개 키를 사용하여 로그인하는 경우 비밀번호가 필요하지 않으므로 계속 로그인할 수 있습니다.

사용자가 다시 로그인하는 것을 중지하려면 파일을 편집 /etc/passwd하고 사용자를 삭제하거나 열 7을 로 변경하십시오 /sbin/nologin.

달리기:

ps -u <user>

사용자가 아직 어떤 프로세스를 사용하고 있는지 확인하고 모두 종료하세요. 다음을 사용해야 할 수도 있습니다.

kill -s 9 <pid>

프로세스를 강제로 중지합니다.

답변3

passwd -l <user>계정은 비활성화되지 않습니다. Gareth가 말했듯이 사용자는 여전히 다른 인증 토큰(예: SSH 키)을 사용하여 로그인할 수 있습니다. 이 계정을 비활성화하려면 usermod --expiredate 1이 설정을 사용하여 계정 만료 날짜를 1970으로 설정해야 합니다. 이제 사용자가 시작한 모든 프로세스를 종료해야 합니다. 달리기:

$pgrep -u Foo사용자 Foo가 시작한 모든 프로세스가 인쇄됩니다. 달리기:

$kill -9 <pid>SIGKILL프로세스를 종료 하라는 신호가 전송됩니다 . 이제 다음을 실행하세요.

$pgrep -u Foo | xargs kill -9

그러면 Foo 사용자의 모든 프로세스 ID가 얻어지고 모두 종료됩니다.

또는:

$kill -9 -u Foo

답변4

userdel -rf username 

오류가 발생하지만 사용자가 영구적으로 삭제됩니다. 당신은 그것을 확인할 수 있습니다 /etc/passwd.

관련 정보