/etc/nsswitch.conf에 다음이있는 경우 :

passwd: files ldap 

이 줄을 입력하고 getent passwd를 실행하면 먼저 /etc/passwd이 실행됩니다. 목록을 표시 한 다음 LDAP의 모든 사용자를 살펴 볼까요? 그런 일이 일어난 것 같습니다.

Red Hat 서버에서 시도해 보았는데 /etc/passwd가 36 줄에 불과할 때 수천 줄을 스크롤했습니다.

댓글

  • 설명하는 내용이 완벽하게 정상인 것 같습니다. LDAP를 사용하면 getent passwd에 모든 사용자 (로컬 + ldap)
  • 감사합니다. ' 정상일 가능성이 매우 높습니다. 저는 Linux에서 LDAP를 사용하는 것이 처음입니다. 이전에는 관리했습니다. 구성 관리 유틸리티를 사용하는 사용자.

답변

getent 지정한 “데이터베이스”에 대한 결과를 반환합니다. /etc/nsswitch.conf의 내용을 기반으로이 “데이터베이스”를 구성 할 때 사용할 백엔드를 결정합니다.

getent 사용 페이지 (getent --help)를 쿼리하면 “데이터베이스”가 나열됩니다.

Supported databases: ahosts ahostsv4 ahostsv6 aliases ethers group gshadow hosts initgroups netgroup networks passwd protocols rpc services shadow 

내가 아는 한, wa가 없습니다. y는 /etc/nsswitch.conf에 구성된 다양한 백엔드에 대한 모든 결과를 제공하는 동작을 비활성화합니다.

getent/etc/nsswitch.conf는 모두 nss (Name Service Switch)의 일부입니다.

nss man 페이지에서 발췌

암호 또는 그룹 데이터베이스와 같은 시스템 데이터베이스에서 데이터를 검색하는 함수에 대한 각 호출은 GNU C 라이브러리의 이름 서비스 스위치 구현에 의해 처리됩니다. 제공되는 다양한 서비스는 독립적 인 모듈로 구현되며 각 모듈은 자연스럽게 서로 크게 다릅니다.

GNU C 라이브러리와 함께 제공되는 기본 구현은 기본적으로 보수적이며 안전하지 않은 데이터를 사용하지 않습니다. 특히 데이터베이스가 큰 경우 일부 상황에서는 비용이 많이들 수 있습니다. 일부 모듈은 안전하다고 알려진 경우 시스템 관리자가 바로 가기 사용을 요청할 수 있습니다. 그런 다음 가정이 올바른지 확인하는 것은 시스템 관리자의 책임입니다.

시간이 지남에 따라 구현이 변경된 다른 모듈이 있습니다. 구현이 메모리 소비를 위해 속도를 희생하는 데 사용되는 경우 문제가 발생할 수 있습니다. 환경 설정이 바뀝니다.

백엔드

여러 가지가 있습니다. 여기에서 다루기에는 너무 많습니다. sssd (sss / LDAP), NIS 및 NIS +와 같은 백엔드입니다.

따라서 시스템이

파일은 getent passwdgetent가 표시하는 출력에 영향을줍니다. div>.

참조

댓글

  • sssd 하우투 링크가 종료되었습니다.
  • @GhostLyrics-변경된 링크

답변

예, getent passwd라고 말하면 nsswitch에 나열된 모든 데이터베이스에서 찾을 수있는 모든 사용자가 나열됩니다.

댓글

  • 열거를 활성화하는 NSS 공급자에만 해당됩니다. 예를 들어 sss를 사용하면 일부 도메인에 대한 열거를 비활성화 할 수 있습니다.

답글 남기기

이메일 주소를 발행하지 않을 것입니다. 필수 항목은 *(으)로 표시합니다