사용자의 UID를 500으로 변경하려고 하는데 ec2-user
다음 명령을 시도하면 UID가 이미 존재한다는 오류가 표시됩니다.
sudo usermod -u 500 ec2-user
usermod: UID '500' already exists
나는 greping /etc/passwd
중이고 UID 500을 찾을 수 없으므로 이를 수행하는 방법을 잘 모르겠습니다.
답변1
소스코드에 따르면, 을 위한usermod
getpwuid
uid가 이미 존재하는지 확인하십시오.prefix
이 플래그가 사용되지 않는 경우 .
에서 언급했듯이문서예 getpwuid
, LDPA 등의 사용자도 찾을 수 있습니다.
getpwnam() 함수는 비밀번호 데이터베이스(예: 로컬 비밀번호 파일 /etc/passwd, NIS 및 LDAP)의 사용자 이름과 일치하는 레코드의 분석 필드가 포함된 구조에 대한 포인터를 반환합니다.
getpwuid() 함수는 사용자 ID uid와 일치하는 비밀번호 데이터베이스 레코드의 분석 필드를 포함하는 구조에 대한 포인터를 반환합니다.
uid가 이미 존재하는지 확인하기 위해 실행할 수 있습니다 getent passwd 500
. ~에 따르면문서 getent passwd
각 숫자 키를 에 전달 getpwuid
하고 결과를 표시합니다. /etc/nsswitch.conf
현재 구성을 확인하기 위해 볼 수도 있습니다 .