/etc/passwd 세부 정보 혼란

/etc/passwd 세부 정보 혼란

나는 /etc/passwd 파일이 7개의 필드로 구성된 사용자 계정 행으로 구성되어 있다는 것을 알고 있습니다.

username:encrypted password or token:userid:groupid:gecos:home directory:default shell 

그러나 일부 사용자의 세부 정보는 다음과 같이 나타납니다.

username:x:1000:1000:username,,,:/home/username:/bin/bash

쉼표는 무엇을 나타냅니까?

편집하다

아래 Daniel의 의견에 추가 - 쉼표가 나타나는 이유를 묻는 이유는 gecos 필드의 다른 세부 정보가 없음에도 불구하고 /etc/passwd의 다른 사용자 계정이 동일한 구조를 갖지 않기 때문입니다.

답변1

Gecos 필드는 사용자 이름뿐만 아니라 해당 사용자에 대한 정보인 fe로 구성됩니다.

  • 실제 이름
  • 방 번호
  • 전화 번호
  • 등등...

우리가 보면Wikipedia 기사의 예, 이는 명확해진다:

jsmith:x:1001:1000:Joe Smith,Room 1007,(234)555-8910,(234)555-0044,email:/home/jsmith:/bin/sh

Gecos 필드라고 하는 다섯 번째 필드는 개인이나 계정을 설명하는 설명입니다. 일반적으로 이는 사용자의 전체 이름과 연락처 세부 정보를 포함하여 쉼표로 구분된 값 집합입니다.

따라서 여러분이 보고 있는 것은 빈 사용자 정보 세트입니다. 해당 정보가 파일에서 처리되고 설정되는 방식은 시스템마다 다를 수 있습니다 passwd.

답변2

원래 질문에 대한 의견에서 말했듯이 :/etc/passwd 파일에 이상한 쉼표가 있는 이유는 무엇입니까?그리고http://en.wikipedia.org/wiki/Gecos_field설명하다무엇이러한 필드는 다음과 같습니다.

"그들이 왜 나타나는가?"라는 질문에 답하기 위해일부다른 사람이 아닌 사용자": 이 정보는 일반적으로 사용자를 시스템에 추가하는 도구에 의해 생성됩니다. 예를 들어 사용자에 대해 "방 번호"를 갖는 것은 의미가 없으므로 sshd이러한 필드는 생성 프로세스에서 제외됩니다. 이 사용자들.

그런데 왜 나는 예를 들어

mysql:x:107:109:MySQL Server,,,:/var/lib/mysql:/bin/false

etc/passwd? 이 사용자는 아마도 adduser더 낮은 수준의 useradd도구(이름 지정이 더 좋았을 것 같아요) 대신 편의상(많은 일반 시스템에 존재함) 사용하고 adduser자동으로 Gecos 자리 표시자를 생성하는 스크립트에 의해 생성되었을 것입니다 . 또는 적합성을 위해 Gecos 형식을 고수하는 것이 사용자 생성 시 의식적인 선택이었을 수도 있지만 이러한 경우에는 대부분 불필요한 무작정이라고 생각합니다.

그러면 일반 사용자에게도 Gecos 필드가 비어 있는 이유는 무엇입니까? 왜냐하면 나는 단순히 방 번호 등을 채운 적이 없기 때문입니다. 해당 사용자를 생성했을 때 삭제되었습니다(시스템 설치 중에 해당 선택권이 있었는지조차 모르겠습니다. 그렇게 생각하지 않습니다).

(참고: 이 시스템은 예를 들어 "Daniel Andersson, PhD"라는 전체 이름이 대부분의 도구에서 잘못 해석된다는 것을 의미합니다.)

관련 정보