CoreOS EC2 인스턴스에서 다음을 발견했습니다.
$ cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
core:x:500:500:CoreOS Admin:/home/core:/bin/bash
$ cat /etc/group
wheel:x:10:root,core
sudo:x:150:
docker:x:233:core
$ id
uid=500(core) gid=500(core) groups=500(core),10(wheel),233(docker),248(systemd-journal),250(portage)
그룹은 어디에
core
정의되어 있나요?uid를 변경하려면 어떤 명령을 사용할 수 있나요?그리고사용자/그룹의 gid
core
(예: 시작 시 실행되는 시스템 단위)?
고쳐 쓰다:/usr/share/baselayout/group
이는 그룹 이 포함된 의 내용과 관련이 있는 것으로 보이지만 core
어디에서도 파일에 대한 링크를 찾을 수 없습니다.
답변1
게시한 및 문서에 따르면 passwd
시스템에 group
호출된 그룹이 없습니다 . 사용자 ID가 500인 사용자와 그룹 ID가 500인 그의 기본 그룹이 core
있습니다 . core
그룹 500에는 이 파일에 이름이 지정되지 않습니다.
그룹 500의 이름은 다른 데이터베이스에 주어질 수 있습니다. 사용자 및 그룹에 대한 데이터베이스 구성은 다음과 같습니다./etc/nsswitch.conf
. 다음 명령을 사용하여 쿼리할 수 있습니다.getent
주문하다:
getent group 500
코어OS에서는/etc/nsswitch.conf
usrfiles
CoreOS 확장으로 보이는 가 포함되어 있습니다 . 효과가있다마음에 들지만 대신 files
아래를 보세요/usr/share/baselayout
/etc
. 그러니까 상담이 있을 거라는 files usrfiles
뜻 이고 그 다음에는 ./etc/group
/usr/share/baselayout/group
사용자 및 그룹은 일반적으로 시작 시 동적으로 생성되지 않으며 영구적인 시스템 구성입니다. Systemd 장치에서 등의 명령을 호출할 수 있지만 adduser
이는 매우 드뭅니다. addgroup
저는 CoreOS에 익숙하지 않지만 core
시작 시 호출되는 사용자나 그룹을 생성하는 것이 유용한 작업을 수행할 수 있을지 매우 의심됩니다. 그룹 500에 이름을 지정하려면 를 /etc/group
사용하여 항목을 만듭니다 addgroup
. 자신만의 목적으로 사용자나 그룹을 생성하려면 이미 사용 중인 이름이나 번호를 사용하고 재사용하지 마십시오 adduser
.addgroup
답변2
어쩌면 다른 사람이 이것이 정확히 어떻게 작동하는지에 대한 세부 정보를 게시할 수도 있지만,이것적어도 충분한 설명인 것 같습니다.
CoreOS 시스템에서 운영 체제 자체는 /usr에 읽기 전용 파티션으로 설치됩니다.
uid/gid를 변경하는 대신 새 사용자/그룹을 만들었습니다.