/etc/shadow 및 /etc/passwd 형식 호환성

/etc/shadow 및 /etc/passwd 형식 호환성

/etc/shadow 및 /etc/passwd 파일은 모든 UNIX 및 UNIX 유사 시스템에서 동일한 형식입니까, 아니면 중요한 차이점이 있습니까?

파일 위치나 이름이 아니라 파일의 구문을 의미합니다.

답변1

내가 아는 한, 모든 유닉스 변형에는 /etc/passwd응용 프로그램이 파일을 직접 읽을 수 있도록 전통적인 레이아웃의 파일이 있습니다. 파일의 각 줄에는 다음에 해당하는 콜론으로 구분된 레코드가 포함됩니다.struct passwd필드:

  1. 사용자 이름(로그인)
  2. 암호화 비밀번호(있는 경우)
  3. 사용자 ID(숫자, 십진수)
  4. 기본 그룹 ID(숫자, 십진수)
  5. 가이코스 유전. 이 필드는 표시 목적을 제외하고 시스템 프로그램에서 사용되지 않습니다. 일반적으로 쉼표로 구분된 필드 목록으로, 처음 세 개는 이름, 사무실 번호, 전화번호입니다.
  6. 메인 디렉토리
  7. 로그인 쉘

서로 다른 시스템 사이에 존재하는 한 가지는 구문에 얼마나 많은 자유를 가질 수 있는지입니다. 예를 들어, GNU libc(예: Linux)는 #주석인 :으로 시작하는 줄을 무시합니다. GNU libc는 선행 공백도 무시하므로 들여쓰기가 가능합니다. 잘못된 행으로 인해 프로그램이 파일 처리를 중지하거나 다음 행으로 이동할 수 있습니다.

대부분의 최신 시스템은 더 이상 두 번째 필드에 암호화된 비밀번호를 저장하지 않습니다. 이 필드의 내용은 사용자가 비밀번호를 설정했는지 여부를 확실하게 나타내지 않습니다. (이것을 찾았더라도 SSH 키, 단일 인증 키 등 다른 인증 방법이 많기 때문에 사용자가 로그인할 수 있는지 여부를 확실하게 나타내지 않습니다. 시간 비밀번호, 생체 인식, 스마트 카드...).

비밀번호가 에 없으면 /etc/passwd해당 위치는 시스템에 따라 다릅니다. 이것유닉스용 로제타스톤많은 UNIX 변형이 언급되어 있습니다.

  • 솔라리스는/etc/shadow, Linux를 포함한 다른 사람들이 복사했습니다. Linux와 Solaris 섀도우 파일의 형식은 동일합니다. 이름이 지정된 다른 시스템이 /etc/shadow동일한 형식을 사용하는지 여부는 알 수 없습니다 .
  • BSD 시스템은/etc/master.passwd, 더 빠른 액세스를 위해 추가로 제공되는 데이터베이스 파일이 있습니다.pwd_mkdb.

/etc/passwdDecades에는 전체 사용자 목록이 포함된다는 보장이 없습니다. 사용자는 다른 데이터베이스에서 올 수 있습니다 .신셰켈(YP)또는LDAP. 시스템 관리자는 /etc/passwd파일을 직접 편집하지 마십시오.vipw대신, 시스템에서 제공하는 경우(그렇지 않은 경우 설명서를 확인하여 사용자 데이터베이스 수정에 권장되는 방법을 확인하세요).

위에서 쓴 내용은 그룹에도 적용됩니다. 의 필드는 /etc/group다음과 같습니다.struct group구성원: 이 그룹을 보조 그룹으로 원하는 사용자를 위한 그룹 이름, 비밀번호(대부분 사용되지 않음), 숫자 그룹 ID 및 쉼표로 구분된 사용자 이름 목록입니다. Linux용 파일이 있지만 /etc/gshadow아직 그룹 인증이 널리 채택되지 않아 거의 사용되지 않습니다.

답변2

우선 모든 UNIX 시스템이 /etc/shadow를 사용하는 것은 아니므로 동일하지 않습니다. D BSD는 /etc/master.passwd를 사용하고 AIX는 /etc/security/passwd를 사용합니다...

관련 정보