UID를 수정한 후 사용자 이름이 없습니다.

UID를 수정한 후 사용자 이름이 없습니다.

[우분투 16.04.7, ISPConfig, Jailkit]

ISPConfig의 기능을 통해 새로 생성된(감옥된) 사용자의 UID를 변경하여 Add Shell User동일한 가상 호스트의 다른 사용자와 구별해야 합니다. 그래서 사용 가능한 다음 항목을 식별 uid하고 실행했습니다 usermod -u xxxx UserName.

사용자의 홈 디렉토리를 확인했는데 사용자 이름 대신 사용자 열에 표시되었습니다 uid. 처음에는 이 결과에 대해 별로 생각하지 않았습니다.

새 사용자로 로그인했을 때 다른 모든 것은 괜찮지만 표시되는 사용자 이름이 로 설정되어 있는 것을 발견했습니다 I have no name!. 나는 내 사용자 이름을 변경할 필요가 없거나 변경하고 싶지 않기 때문에(그리고 변경하지 않았음) 이 결과에 놀랐습니다. 이 사용자에 대해 작업을 수행 하면 id다음과 같은 결과가 표시됩니다(사용자 이름은 해당 uid 옆에 표시되지 않습니다).

uid=5016 gid=5007(groupName) groups=5007(groupName)

사용자가 확실히 /etc/passwd파일에 있습니다.

여기저기 검색해 봤지만 아직까지 이 문제를 해결할 수 있는 방법을 찾지 못했습니다. 이 문제를 어떻게 해결할 수 있나요?

답변1

이것은 수감된 사용자를 위한 것이라고 언급하셨습니다. 따라서 감옥 내부와 외부의 uid/사용자 이름 매핑을 변경해야 합니다.

감옥 외부의 주 편집자를 다루지 usermod만 감옥 내부의 편집자를 편집하려면 일반 편집기를 사용해야 합니다( usermod감옥 내부에서는 명령이 있을 가능성이 낮으므로 사용할 수 없습니다 chroot usermod...). 파일에는 {JailRoot}/etc/passwd적절한 값이 있어야 합니다 {JailRoot}. UID는 콜론으로 구분된 세 번째 필드입니다.

완전성을 위한 마지막 단계로 이전 UID( )가 소유한 모든 파일이 새 UID( ) {oldUID}로 변환되었는지 확인하세요. {newUID}물론 그러한 파일이 없다고 확신한다면 이 단계를 건너뛸 수 있습니다.

find / -user {oldUID} -exec chown {newUID} {} +

관련 정보