Buildroot 그룹 파일이 이상한 항목으로 끝남

Buildroot 그룹 파일이 이상한 항목으로 끝남

내 목표는 Buildroot가 내 파일 group에서 이상하게 보이는 출력을 생성하는 이유를 이해하고 이것이 문제를 일으키는지 확인하는 것입니다. 정말 문제가 있다면 그 이유를 찾아내고 해결책을 찾고 싶습니다.

저는 Buildroot를 사용하여 Linux 이미지를 생성하고 BR2_ROOTFS_USERS_TABLES다음과 같은 테이블에 추가 사용자를 생성합니다.

#username  uid group gid password  home  shell groups  comment
cow 1022  four_legs 155 fake  /home/cow /bin/bash -
duck  1023  wings 156 fake  /home/duck  /bin/bash -
goose 1024  wings 156 fake  /home/goose /bin/bash -
pig 1025  four_legs 155 fake  /home/pig /bin/bash -
horse 1026  four_legs 155 fake  /home/horse /bin/bash -
chicken 1027  wings 156 fake  /home/chicken /bin/bash -
fish  1028  fins  157 fake  /home/fish  /bin/bash -

내 필드는 다음과 같이 공백으로 구분됩니다.문서.

나는 결국 이해하고 싶었지만 이해하지 못했던 이상한 현상에 직면하게 되었습니다. 내 group파일은 다음과 같습니다.

/etc # cat group
root:x:0:
daemon:x:1:
bin:x:2:
sys:x:3:
adm:x:4:
tty:x:5:
disk:x:6:
lp:x:7:
mail:x:8:
kmem:x:9:
wheel:x:10:root
cdrom:x:11:
dialout:x:18:
floppy:x:19:
video:x:28:
audio:x:29:
tape:x:32:
www-data:x:33:
operator:x:37:
utmp:x:43:
plugdev:x:46:
staff:x:50:
lock:x:54:
netdev:x:82:
users:x:100:
nobody:x:65534:four_legs:x:155:
four_legs:x:155:
wings:x:156:
fins:x:157:
sshd:x:1000:
:x:1001:cow,duck,goose,pig,horse,chicken,fish

1: 가 있는 줄에 줄 바꿈 없이 그룹을 nobody추가한 four_legs후 다음 줄에서 그룹을 반복합니다. 왜 이렇게 생성되는지 이해가 되지 않습니다.four_legs이로 인해 사람이 없는 같은 행에 문제가 나타나고 다음 행에서 반복됩니까 ?

2: 마지막 줄에서는 테이블에서 추가한 모든 사용자가 구성원인 새 GID를 사용하여 이름이 없는 것처럼 보이는 그룹을 만듭니다.마지막 줄이 필요합니까? 그렇다면, 그것은 무엇을 위해 사용됩니까?내가 뭔가를 잘못 입력해서 이상한 그룹 파일이 생겼나요?

완전한 클린 빌드는 이를 변경하지 않는 것 같았으며 예상한 대로 passwd보입니다 . shadow또한 사용자 테이블의 항목 순서는 아무런 영향을 미치지 않는 것 같습니다. 거기에 정의된 첫 번째 새 그룹이 온라인으로 반복됩니다 nobody.

최종 참고 사항: 댓글 필드에 댓글을 추가하면 Buildroot가 혼란스러워지고 위 파일의 대부분을 passwd.

답변1

글쎄, 그것은 전적으로 내 잘못이었고 다음 세 가지가 결합되었습니다.

  1. 스프레드시트에 사용자 테이블을 작성하고 결과를 텍스트 편집기에 붙여넣었더니 괜찮아 보였지만 Excel에서는 일부 특정 문자로 시작하는 필드를 작은따옴표로 이스케이프해야 했고, '이를 이스케이프했습니다. =또는 로 시작하는 필드 에 사용됩니다 /. 이로 인해 붙여넣을 때 추가 공간이 생겨 문제가 되었습니다. 고치기가 매우 쉽습니다.

  2. nobody:x:65534:four_legs:x:155:추가하려는 소스 파일의 끝에 개행 문자가 있는지 확인하면 문제가 완전히 사라집니다. 왜 입력을 라인에 유지하는 대신 입력을 두 배로 늘리는지 잘 모르겠지만 nobody좋습니다.

  3. CRLF 대신 LF 줄 끝을 사용해야 합니다. 이제 LF 줄 끝이 있으면 다른 문제에 더 관대해 보입니다. 댓글 필드도 잘 작동합니다. :-)

관련 정보