계정을 완전히 비활성화하려면 어떻게합니까? / 공개 키를 통해 로그인

계정을 완전히 비활성화하려면 어떻게합니까? passwd -l다른 사람이 비밀번호를 사용하여 계정에 로그인 할 수는 없지만 개인 / 공개 키를 통해 로그인 할 수 있습니다. 계정을 완전히 비활성화하려면 어떻게합니까? 빠른 수정으로 파일 이름을로 변경했습니다 authorized_keys_lockme. 다른 방법이 있습니까?



답변

에 따른 올바른 방법 usermod(8)은 다음과 같습니다.

usermod --lock --expiredate 1970-01-02 <username>

(실제로 인수 --expiredate는 형식에서 현재 날짜 이전의 날짜 일 수 있습니다 YYYY-MM-DD.)


설명:

  • --lock사용자의 비밀번호를 잠급니다. 그러나 다른 방법 (예 : 공개 키)으로 로그인하는 것은 여전히 ​​가능합니다.

  • --expiredate YYYY-MM-DD지정된 날짜에 계정을 비활성화합니다. man shadow 51970-01-01 에 따르면 모호한 값이므로 사용해서는 안됩니다.

내 컴퓨터에서 이것을 테스트했습니다. 이 명령을 실행 한 후에는 비밀번호 또는 공개 키로 로그인 할 수 없습니다.


나중에 계정을 다시 활성화하려면 다음을 실행하십시오.

usermod --unlock --expiredate '' <username>


답변

비밀번호를 잠그고 쉘을로 변경하십시오 /bin/nologin.

sudo usermod --lock --shell /bin/nologin username

(또는 더 간결하게, sudo usermod -L -s /bin/nologin username.)


답변

여기 또 다른 간단한 방법이 있습니다. 사용자 계정 만료를 설정할 수 있습니다. 이렇게하면 계정의 비밀번호 기반 및 ssh 키 기반 로그인이 모두 방지되지만 비밀번호 는 건드리지 않습니다 .

계정을 잠 그려면

# chage -E 0 username

시스템에서 사용자 계정 ‘username’이 잠 깁니다. 사용자 계정을 다시 활성화하려면 다음을 수행하십시오.

계정을 잠금 해제하려면

# chage -E -1 username

사용자 계정 ‘username’은 시스템 에서 이전 과 동일한 비밀번호 로 다시 활성화됩니다 . ‘chage’바이너리는 Red Hat Linux 의 shadow-utils 패키지 또는 Debian Linux 의 passwd 패키지의 일부입니다.


답변

레 거트의 답변에 대해 언급 할 충분한 담당자가 없지만이 답변이 다른 사용 사례에 도움이되었다는 것을 공유하고 싶습니다.

1.) 해당 계정은 최종 사용자 계정이 아닌 응용 프로그램을 실행하는 로컬 서비스 계정입니다.

2.) 최종 사용자 sudo /bin/su <user>는 서비스 계정에 직접 로그인 할 수없는 감사 추적 요구 사항으로 인해 사용자가 스스로 ssh하고 사용자가되고 응용 프로그램을 관리합니다.

3) 서비스 계정은 유효한 쉘 (이 있어야 /bin/bash하지 /sbin/nologin엔터프라이즈 일정 플랫폼 (에이전트가 로컬 루트로 실행) 할 수 있어야하기 때문에,) su - <user>와이없는 su -s /bin/bash <user>전체 쉘가하는 능력을 원격으로 작업을 실행하는 데 필요한 여러 서버 및 데이터베이스를 포함하는 대규모 일괄 작업

So …

passwd -l <user>
공개 키 인증이 PAM을 우회하고 직접 로그인을 허용하기 때문에 제약 조건을 충족하지 않습니다.

usermod -s /sbin/nologin <user>
엔터프라이즈 스케줄러를 위반하므로 제한 조건을 충족하지 않습니다.

usermod --lock --expiredate 1970-01-01 <user>
이것은 우리의 승자입니다. 원격 루트는 여전히 수 비활성화 로그인, 아직 su <user>통해 다른 사용자가 수, sudo필요에 따라서 적절하게 스케줄러 기능과 권한 최종 사용자 대상 서비스 계정이 될 수 있습니다.

솔루션 주셔서 감사합니다!


답변

완전히 삭제하려면을 사용하십시오 userdel.

계정을 삭제하면 해당 파일의 사용자 ID가 여전히 어딘가에 파일 시스템에서 사용되며 새로운 사용자가 동일한 사용자 ID로 들어 오면 해당 파일의 소유권을 상속받을 위험이 있습니다.

삭제 된 사용자가 소유 한 파일의 소유자를 변경하려고합니다.

나중에 사용자를 다시 추가하려면 해당 행을 /etc/passwd(및 Solaris에서 /etc/shadow)와 같은 임시 파일에 저장하십시오 /etc/passwd_deleted.

다시 추가하면 동일한 사용자 ID와 동일한 비밀번호 (위의 파일 중 하나에서 암호화 됨)를 사용할 수 있습니다.

면책 조항 : UNIX를 스스로 배웠으므로 일시적으로 사용자를 비활성화하는 더 좋은 방법이 있다면 놀라지 않을 것입니다. 사실 나는 당신이 말하는 개인 / 공개 키가 무엇인지조차 모릅니다. 또한 find해당 소유자 사용자 ID로 파일을 찾는 데 사용할 수 있는 명령이 있다고 확신 합니다


답변

ssh_config를 통해 시도한 사람이 있습니까? 아마도 이것이 http://www.techrepublic.com/blog/opensource/set-up-user-accounts-quickly-and-securely/86에 도움이 될 수 있습니다

또한 모든 로그인이 공개 키를 사용하도록 PasswordAuthentication도 no로 설정되어 있는지 확인하십시오.


답변