uid를 사용자로 변경하려고 시도했지만 이미 존재한다고 표시됩니다.

uid를 사용자로 변경하려고 시도했지만 이미 존재한다고 표시됩니다.

사용자의 UID를 500으로 변경하려고 하는데 ec2-user다음 명령을 시도하면 UID가 이미 존재한다는 오류가 표시됩니다.

sudo usermod -u 500 ec2-user
usermod: UID '500' already exists

나는 greping /etc/passwd중이고 UID 500을 찾을 수 없으므로 이를 수행하는 방법을 잘 모르겠습니다.

답변1

소스코드에 따르면, 을 위한usermodgetpwuiduid가 이미 존재하는지 확인하십시오.prefix이 플래그가 사용되지 않는 경우 .

에서 언급했듯이문서getpwuid, LDPA 등의 사용자도 찾을 수 있습니다.

getpwnam() 함수는 비밀번호 데이터베이스(예: 로컬 비밀번호 파일 /etc/passwd, NIS 및 LDAP)의 사용자 이름과 일치하는 레코드의 분석 필드가 포함된 구조에 대한 포인터를 반환합니다.

getpwuid() 함수는 사용자 ID uid와 일치하는 비밀번호 데이터베이스 레코드의 분석 필드를 포함하는 구조에 대한 포인터를 반환합니다.

uid가 이미 존재하는지 확인하기 위해 실행할 수 있습니다 getent passwd 500. ~에 따르면문서 getent passwd각 숫자 키를 에 전달 getpwuid하고 결과를 표시합니다. /etc/nsswitch.conf현재 구성을 확인하기 위해 볼 수도 있습니다 .

관련 정보