"su -"를 사용하여 사용자를 변경하면 "사용자에 대한 비밀번호 입력이 없습니다"가 발생합니다.

"su -"를 사용하여 사용자를 변경하면 "사용자에 대한 비밀번호 입력이 없습니다"가 발생합니다.

특히 "jenkins" 사용자로 전환하여 빌드 서버에서 무언가를 테스트하려고 합니다.

sudo su - jenkins
No passwd entry for user 'jenkins'

답변1

오류 메시지는 거의 설명이 필요하지 않습니다. 이는 사용자가 jenkins파일에 항목이 없음 을 의미합니다 /etc/passwd. 즉, 사용자가 시스템에 존재하지 않습니다.

/etc/passwd이 파일은 사용자 이름, 비밀번호, 홈 디렉토리 및 쉘 정보가 필요한 사용자 관련 작업을 수행할 때 먼저 참조됩니다. 이 파일에는 현재 발생한 오류를 일으키는 항목이 없습니다. 따라서 먼저 사용자를 생성해야 합니다( useradd/ adduser). 참고로, 필요한 경우가 아니면 jenkins시스템 사용자와 같은 서비스 특정 사용자(사람이 아닌)를 생성해서는 안 됩니다.

답변2

"Linux의 모든 사용자 나열"을 빠르게 검색한 후 찾았습니다.이 답변그리고 다음 명령을 실행하세요:

cut -d: -f1 /etc/passwd

그리고 @Ipor Sircer가 제안한 것처럼 사용자는 실제로 존재하지 않으며 이를 추가해야 합니다.

adduser jenkins

관련 정보