useradd는 비밀번호 없이 사용자를 생성하며 SSH를 통해서만 액세스할 수 있습니다.

useradd는 비밀번호 없이 사용자를 생성하며 SSH를 통해서만 액세스할 수 있습니다.

저는 이 명령을 사용하여 자동으로 사용자를 생성하는 스크립트를 작성하고 있습니다 useradd(대신 이 명령이 필요합니다 adduser).

SSH를 통해서만 액세스할 수 있는 방식으로 생성하고 싶습니다(스크립트가 인증 키에 public_key를 추가했습니다).

useradd --system --shell /bin/bash $NEW_USER

이 명령을 사용하면 비밀번호로 로그인할 수 있습니까? 그렇다면 어떻게 비활성화할 수 있습니까?

내가 달성하고 싶은 것은 이 게시물에 설명된 내용과 유사합니다 --disable-password.useradd비밀번호가 없는 사용자 생성.

답변1

useradd-p계정에 이 옵션을 제공하지 않으면 기본적으로 비밀번호가 비활성화된 계정이 생성됩니다.

에서 man useradd:

-p, --password비밀번호

crypt(3)에 의해 반환된 암호화된 비밀번호입니다. 기본값은 비밀번호를 비활성화하는 것입니다.

그런데, 기존 계정의 비밀번호를 비활성화해야 하는 경우 passwd -l username계정 잠금을 실행할 수 있습니다(예: 비밀번호 비활성화). 에서 man passwd:

-l,--lock

지정된 계정의 비밀번호를 잠급니다. 이 옵션은 가능한 암호화 값과 일치하지 않는 값으로 변경하여 비밀번호를 비활성화합니다( !비밀번호 시작 부분에 추가함) .

이렇게 해도 계정이 비활성화되지는 않습니다.. 사용자는 다른 인증 토큰(예: SSH 키)을 사용하여 계속 로그인할 수 있습니다. 계정을 비활성화하려면 관리자가 사용해야 합니다 usermod --expiredate 1(이렇게 하면 계정 만료 날짜가 1970년 1월 2일로 설정됩니다).

비밀번호가 잠겨 있는 사용자는 비밀번호를 변경할 수 없습니다.

실제로 비밀번호를 삭제하는 대신 무효화만 하여 passwd -u시스템 관리자가 원래 비밀번호가 무엇인지 알거나 일부 "기본" 비밀번호로 설정할 필요 없이 나중에 잠금 해제 비밀번호를 사용할 수 있습니다(안전하지 않을 수도 있고 잘 알려져 있을 수도 있음). ) ):

-u,--unlock

지정된 계정의 비밀번호를 잠금 해제합니다. 이 옵션은 비밀번호를 이전 값( -l이 옵션이 사용되기 전의 값) 으로 다시 변경하여 비밀번호를 다시 활성화합니다 .

!즉, options 를 통해 암호화된 비밀번호의 시작 부분에 추가된 내용을 제거합니다 -l.

관련 정보