sudo 권한이 있는 사용자가 자신을 삭제할 수 있나요?

sudo 권한이 있는 사용자가 자신을 삭제할 수 있나요?

공개/개인 키를 사용하여 Linux 상자에 SSH로 연결하는 것이 금지되는 시나리오가 있습니다. 루트로 상자에 sudo를 실행할 수 있습니다. 상자에서 몇 가지 스크립트를 실행해야 합니다. 내 사용자 이름과 비밀번호를 사용하여 로그인할 수 없습니다. 그렇게 하면 내 비밀번호가 세상에 노출될 수 있기 때문입니다. 그래서 sudo 권한을 가진 새 사용자 "admin"을 만들고 관리자로 상자에 로그인했습니다. 구성이 완료되면 관리자를 제거해야 합니다. 관리자로 로그인했기 때문에 관리자를 삭제할 수 없습니다. 이것을 달성할 수 있는 방법이 있나요?

답변1

내 사용자 이름과 비밀번호를 사용하여 로그인할 수 없습니다. 그렇게 하면 내 비밀번호가 세상에 노출될 수 있기 때문입니다.

어떻게 이런 일이 일어났는지 이해가 안 돼요. SSH 인증은 암호화된 연결을 통해 발생하므로 비밀번호는 원격 호스트(및 자신의 컴퓨터)에만 노출됩니다. 물론 다른 시스템에서 동일한 비밀번호를 사용하거나(사용해서는 안 됨) 실수로 잘못된 시스템에 비밀번호를 입력한 경우 문제가 될 수 있습니다.

아무튼, 비밀번호를 사용할 수 없고, 키 기반 인증을 사용할 수 없다면 어떻게 하는지 알고 싶습니다 sudo.

관리자로 로그인했기 때문에 관리자를 삭제할 수 없습니다.

나는 이것에 대해 잘 모르겠습니다. 일부 "사용자 친화적인" 유틸리티는 이를 수행하지 말라고 지시할 수 있지만 vipw슈퍼유저 수준 셸을 실행하는 한 사용자 데이터베이스를 편집하거나(사용하거나 다른 방식으로) 파일을 삭제하는 것을 막을 수는 없습니다. 물론, 이 작업을 수행하는 동안 연결이 끊어지면 문제가 발생할 수 있습니다.

적어도데비안 userdel에도 이 --force옵션이 있습니다아직 로그인되어 있는 경우에도 사용자를 제거합니다.

답변2

한 가지 가능성은 사용자를 비활성화하는 것입니다(비밀번호를 비우고 sudo 권한을 제거). 해당 사용자로 sudo를 통해 이 작업을 수행할 수 있습니다. 로그아웃 후에는 더 이상 로그인할 수 없습니다.

또 다른 방법은 루트로 실행되는 크론 작업을 사용하여 사용자가 존재하는지 확인한 후 /home/admin이 경우 사용자를 삭제하는 것입니다.

답변3

나중에 예약할 수 있습니다 at. 처럼 root:

at 18:00 <<HERE
/usr/sbin/deluser --remove-home admin
HERE

대기열 확인을 사용 atq하고 작업 삭제를 사용하십시오 atrm <ID>.

at설치되어 있고 데몬이 실행 중이라고 가정합니다 (예: atd.servicesystemd를 통해).

관련 정보