Scroll to navigation

NSSWITCH.CONF(5) 리눅스 프로그래머 메뉴얼 NSSWITCH.CONF(5)

이름

nsswitch.conf - 시스템 데이타베이스와 네임서비스 스위치설정파일.

설명

C라이브러리의 다양한 함수들은 로컬환경에서 직접 일을 하기 위해 설정이 필요하다. 전통적으로 이것은 /etc/passwd와 같은 파일을 사용함으로써 수행되었다. 그러나 다 른 네임 서비스(NIS, DNS)들이 보편화되고, C라이브러리에 포함되었다.

NYS를 가진 리눅스 libc5지원과 GNU C 라이브러리2.x(libc.so.6)는 이러한 문제의 해답을 가지고 있다. 이것은 후에 선 마이크로시스템즈의 솔라리스 2의 C라이브러리에 의해 사용된 으로 디자인 되었다.

다음 데이타 베이스들은 NSS에 쓰인다:

Mail aliases, used by sendmail(8) 에 의해 사용되는 메일 앨리어스. 현재는 무시한다.
이더넷 번호.
getgrent(3) 함수에 의해 사용되는 사용자들 그룹.
gethostbyname(3) 와 같은 종류의 함수들에 의해 사용되는 호스트명과 번호.
액세스 룰을 위해 사용되는 호읏 사용자의 네트웍리스트. glibc 2.1전의 C 라이브러리는 단지 NIS를 넘어 넥그룹들을 지원한다.
getnetent(3) 함수에 의해 사용되는 네크웍명과 번호.
getpwent(3) 함수에 의해 사용되는 사용자 비밀번호.
getprotoent(3) 함수에 의해 사용되는 네트웍 프로토콜.
NFS와 NIS+에 의해 사용되는 Secure_RPC를 위한 퍼블릭,시크릿 키.
getrpcbyname(3) 와 비슷한 함수들에의해 사용되는 원격진행호출명과 번호.
getservent(3) 함수에 의해 사용되는 네트웍 서비스.
getspnam(3) 에 의해 사용되는 샤도우 패스워드.

예를 들면 /etc/nsswitch.conf 파일은 다음과 같이 보인다:

compat
compat
compat

dns [!UNAVAIL=return] files
nis [NOTFOUND=return] files
nis [NOTFOUND=return] files
nis [NOTFOUND=return] files
nis [NOTFOUND=return] files
nis [NOTFOUND=return] files

첫 행은 당신이 위를 봄으로써 예상할 수 있는 그런 데이타베이스이다. 나머지 행은 룩업프로세스가 어떻게 일하는지 기술한다.

개별 데이타베이스의 설정은 두개의 다른 생각을 가질 수 있다:

* 서비스 설명서는 '파일','db','nis'같다.
* 룩업 결과, 반응은 '[NOTFOUND=return]'과 같다.

설명서에서 두번째 아이템은 룩업프로세스에서 더 훌륭한 제어를 사용자에게 준다. 작용 아이템은 두 서비스명 사이에 위치하고 괄호안에 쓰여진다. 보통 다음과 같이 쓴다.

`[' ( `!'? STATUS `=' ACTION )+ `]'

where

키워드의 경우는 무의미하다. 상태값은 특정서비스이 함수를 룩업하기위한 호출의 결과 이다. 이것들은 다음을 의미한다:

어떠한 에러도 없었고 원하는 entry가 반환됐다.
룩업프로세스는 제대로 작동하지만, 원한는 값은 찾지 못했다.
서비스는 영원히 이용할 수 없다. 이것은 원하는 파일이 유효하지 않거나 혹은 DNS때문에 서버가 유효 하지 않거나 쿼리가 허락되지 않는것 모두를 의미할 수 있다.
서비스는 일시적으로 이용할 수 없다. 이것은 파일이 잠겨있거나 서버가 현재 더이상의 접속을 받아들 일 수 없는것을 의미한다.

Interaction with +/- syntax (compat mode)

NYS없는 리눅스 libc5는 네임서비스 스위치를 가질 수 없지만, 몇몇 정책제어에 사용자를 허락한다.

파일

서비스명 SERVICE는 /lib 안에 위치하는 공유 오브젝트 라이브러리명 libnss_SERVICE.so.X 에 의해 구현된다.

/etc/nsswitch.conf
설정 파일
/lib/libnss_compat.so.X
glibc2를 위한 'compat'소스 구현.
/lib/libnss_db.so.X
glibc2를 위한 'db'소스 구현.
/lib/libnss_dns.so.X
glibc2를 위한 'dns'소스 구현.
/lib/libnss_files.so.X
glibc2를 위한 'files'소스 구현.
/lib/libnss_hesoid.so.X
glibc2를 위한 'hesoid'소스 구현.
/lib/libnss_nis.so.X
glibc2를 위한 'nis'소스 구현.
/lib/libnss_nisplus.so.2
glibc2.1를 위한 'nisplus'소스 구현.

주의

nsswitch.conf, 사용하는 각 프로세스의 완전한 파일은 한번만 읽는다; 파일이 후에 바뀐다면, 프로세스는 전의 설정을 계속 사용할 것이다.

솔라리스에서, NSS서비스를 이용하는 프로그램은 링크가 불가능하다. 리눅스에서는 아무런 문제가 없다.

1999년 1월 17일 리눅스