내 목표는 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
글쎄, 그것은 전적으로 내 잘못이었고 다음 세 가지가 결합되었습니다.
스프레드시트에 사용자 테이블을 작성하고 결과를 텍스트 편집기에 붙여넣었더니 괜찮아 보였지만 Excel에서는 일부 특정 문자로 시작하는 필드를 작은따옴표로 이스케이프해야 했고,
'
이를 이스케이프했습니다.=
또는 로 시작하는 필드 에 사용됩니다/
. 이로 인해 붙여넣을 때 추가 공간이 생겨 문제가 되었습니다. 고치기가 매우 쉽습니다.nobody:x:65534:four_legs:x:155:
추가하려는 소스 파일의 끝에 개행 문자가 있는지 확인하면 문제가 완전히 사라집니다. 왜 입력을 라인에 유지하는 대신 입력을 두 배로 늘리는지 잘 모르겠지만nobody
좋습니다.CRLF 대신 LF 줄 끝을 사용해야 합니다. 이제 LF 줄 끝이 있으면 다른 문제에 더 관대해 보입니다. 댓글 필드도 잘 작동합니다. :-)