계정을 완전히 비활성화하는 방법은 무엇입니까? passwd -l
누구도 비밀번호를 사용하여 계정에 로그인할 수 없지만 개인/공개 키를 통해 로그인할 수는 있습니다. 계정을 완전히 비활성화하려면 어떻게 해야 합니까? 빠른 수정으로 파일 이름을 authorized_keys_lockme
.
답변1
올바른 접근 방식 usermod(8)
은 다음과 같습니다.
usermod --lock --expiredate 1970-01-02 <username>
(실제로 인수는 --expiredate
현재 날짜 이전의 날짜일 수 있으며 형식은 입니다 YYYY-MM-DD
.)
설명하다:
--lock
사용자의 비밀번호를 잠급니다. 그러나 공개키 등 다른 방법을 통해 로그인하는 것은 여전히 가능합니다.--expiredate YYYY-MM-DD
지정된 날짜에 계정을 비활성화합니다. 1970-01-01 에 따르면man shadow 5
이는 모호한 값이므로 사용해서는 안 됩니다.
내 컴퓨터에서 테스트했습니다. 이 명령을 실행한 후에는 비밀번호나 공개키를 이용한 로그인이 불가능합니다.
나중에 계정을 다시 활성화하려면 다음을 실행하세요.
usermod --unlock --expiredate '' <username>
답변2
비밀번호를 잠그고 쉘을 /bin/nologin
.
sudo usermod --lock --shell /bin/nologin username
(또는 더 간결하게 말하면 sudo usermod -L -s /bin/nologin username
.)
답변3
이것은 또 다른 간단한 방법입니다. 사용자 계정 만료를 설정할 수 있습니다. 이렇게 하면 계정에 대한 비밀번호 기반 및 SSH 키 기반 로그인이 방지되지만아니요비밀번호를 터치하세요.
계정 잠금:
# chage -E 0 username
사용자 계정 "username"이 시스템에서 잠깁니다. 사용자 계정을 다시 활성화하려면 다음을 수행하십시오.
계정 잠금 해제:
# chage -E -1 username
사용자 계정 "username"이 시스템에서 다시 활성화됩니다.동일한 비밀번호를 사용하세요.이전처럼. "chage" 바이너리는 다음과 같습니다.그림자 도구Red Hat Linux의 패키지 또는비밀번호Debian Linux의 패키지.
답변4
완전히 제거하려면 를 사용하세요 userdel
.
계정을 삭제하면 해당 사용자 ID가 파일 시스템 어딘가에서 계속 사용될 위험이 있으며, 동일한 사용자 ID로 들어오는 새 사용자가 해당 파일의 소유권을 상속하게 됩니다.
삭제된 사용자가 소유한 파일의 소유자를 변경할 수 있습니다.
나중에 사용자를 다시 추가하려면 해당 행 /etc/passwd
(Solaris의 경우 /etc/shadow
)을 임시 파일에 저장하십시오 /etc/passwd_deleted
.
이렇게 하면 다시 추가할 때 동일한 사용자 ID와 동일한 비밀번호(위 파일 중 하나에 암호화됨)를 사용할 수 있습니다.
면책 조항: 저는 UNIX를 스스로 배웠기 때문에 사용자를 일시적으로 비활성화하는 더 좋은 방법이 있더라도 놀라지 않을 것입니다. 사실, 나는 당신이 말하는 개인/공개 키가 무엇인지조차 모릅니다. 또한 find
해당 소유자 사용자 ID를 가진 파일을 찾는 데 사용할 수 있는 명령이 있다고 확신합니다.