시스템 사용자를 생성한 후 로그인할 수 있나요?

시스템 사용자를 생성한 후 로그인할 수 있나요?

Ubuntu 시스템에서 다음 명령을 실행하면:

adduser --system --no-create-home system-user

system-userUnhome이라는 시스템 사용자를 /bin/false쉘로 생성합니다. 이 사용자는 nogroup기본적으로 (GID 65534)에 속합니다. 이 사용자를 사용하여 내 시스템에서 데몬을 실행하고 싶습니다.

하지만 비밀번호는 어떻습니까? 나 또는 다른 사람들이 어떻게든 이 시스템 계정에 로그인할 수 있습니까? 비밀번호가 비어 있을 수도 있다고 생각하여 Password:메시지가 표시되면 Enter 키를 눌러 보았습니다 su system-user.

$ su system-user
Password:
su: Authentication failure

/bin/false껍질 때문일까요 ? adduser매뉴얼에는 useradd시스템 사용자 생성시 시스템 사용자의 비밀번호를 처리하는 방법이 나와 있지 않아서 모르겠습니다 . 시스템의 어느 누구도 이 시스템 사용자로 로그인할 수 없다고 확신할 수 있습니까? 아니면 계정을 보호하기 위해 다른 조치를 취해야 합니까? 다른 사람은 사용하지 않고 데몬만 사용하기를 원합니다.

답변1

계정에 할당된 유효한 비밀번호가 없기 때문에 계정에 로그인할 수 없게 됩니다. 이는 비밀번호가 없는 것과 다릅니다.

다음을 수행하여 이를 확인할 수 있습니다 sudo grep -f system-user /etc/shadow. 두 번째 필드(첫 번째와 두 번째 콜론( :) 사이)은 " *"이며 해시 값이 없습니다.어느제공할 수 있는 비밀번호가 일치합니다. 이렇게 하려면 비밀번호를 명시적으로 설정해야 합니다.

그 외에 /bin/false비밀번호로 계정을 입력하면 " Authentication failure"이 표시되지 않고 아무 메시지도 없이 바로 로그아웃됩니다. (임시 계정을 만들어 쉽게 시도할 수 있으므로)그리고유효한 비밀번호)

답변2

passwd먼저 사용자를 초기화해야 합니다 .

$passwd system-user

그런 다음 두 번 돌아가서 빈 비밀번호를 만듭니다.

파일에 passwd가 없는지 확인할 수 있습니다 /etc/shadows(두 번째 필드는 비어 있어야 함). 하지만 그렇습니다. 쉘이 없어도 계정은 보호되지 않습니다 $HOME. sudo 계정을 가진 모든 사용자가 사용할 수 있습니다.

관련 정보