NIS and NIS+ (Network Information System)
|
NIS는 썬 마이크로시스템즈에서 개발된 소규모 네트웍용 네트웍 명명 및 관리 시스템이다. NIS+는 보안 및 편의 기능들을 추가한 그 후의 버전이다. NIS를 사용하면, 시스템 내의 각 호스트 클라이언트들이나 서버 컴퓨터가 전체 시스템을 인식한다. 어떤 호스트에 있는 사용자라도, 한 개의 사용자ID와 패스워드를 가지고 네트웍 상의 어떠한 호스트 상에 있는 파일들이나 프로그램들에도 접근할 수 있다 NIS는 인터넷의 DNS와 비슷하지만, 그보다는 다소 간단하고, 소규모 네트웍에 알맞게 설계되었다. 이 시스템은 근거리통신망 상에서 사용하는 것을 목적으로 만들어졌다. NIS는 호스트들 간의 통신을 위해 클라이언트/서버 모델과 원격절차호출 인터페이스를 사용한다. NIS는 하나의 서버와 클라이언트 프로그램 라이브러리, 그리고 약간의 관리도구들로 구성되어 있다. NIS는 종종 NFS와 함께 사용된다. NIS는 유닉스 기반의 프로그램이다. 비록 썬과 다른 회사들이 독점 버전을 공급하고는 있지만, 대부분의 NIS 코드는 공개되어 있으며, 프리웨어 버전들도 찾아볼 수 있다. NIS는 원래 "옐로우페이지"라고 불렸었지만, 그러나 누군가가 이미 그 이름에 관해 상표로 등록한 상태였기 때문에, NIS로 바꾸어 부르게 되었다. 그렇지만 아직도 가끔 옐로우페이지의 약어인 "YP"로 불리기도 한다. 썬은 자사의 워크스테이션 네트웍은 물론, 윈도우 PC 네트웍을 위한 솔루션으로 NFS 제품과 함께 NIS+를 제공한다. |
Network Information System (abbreviation: NIS) is an information system for managing networks, such as electricity network, water supply network, gas supply network, telecommunications network.
NIS may manage all data relevant to the network, e.g.- all components and their attributes, the connectivity between them and other information, relating to the operation, design and construction of such networks.
NIS for electricity may manage any, some or all voltage levels- Extra High, High, Medium and low voltage. It may support only the distribution network or also the transmission network.
NIS may be built on top of a GIS (Geographical information system).
NIS is used for centralised Authentication. NIS shares all NIS users' home directories using NFS and we can access any NIS users from any client in the network.
The Network Information Service or NIS is Sun Microsystems’ “Yellow Pages” (YP) client-server directory service protocol for distributing system configuration data such as user and host names between computers on a computer network.
Sun licenses this technology to virtually all other Unix vendors.
As the name “Yellow Pages” was a registered trademark in the United Kingdom of British Telecom PLC for their (paper) commercial telephone directory, Sun changed the name of their system to NIS, though all the commands and functions still start with “yp”.
NIS/YP is used for maintenance and distribution of a central directory of user and group information, hostnames, e-mail aliases and other text-based tables of information in a computer network. For example, in a common UNIX environment, the list of users for identification is placed in /etc/passwd, and secret authentication hashes in /etc/shadow. NIS adds another “global” user list which is used for identifying users on any client of the NIS domain.
Technically NIS can be configured to serve password data used to authenticate users against as well; however, not only is this cumbersome to do without resorting to DES encrypted passwords (which are known to be weak) if multiple OSs are in use, it also allows any NIS client to retrieve the whole password database for offline inspection. Kerberos was designed to handle authentication in a more secure manner.
In many environments other directory services, which may be considered to be more modern and secure than NIS, such as LDAP, have come to replace it. For example, the 'slapd' daemon generally runs as a non-root user, and SASL-based encryption of LDAP traffic is natively supported.
The nameserver functionality NIS or LDAP can provide is probably better handled by DNS servers when used on large LANs, leaving just site-wide identification information for NIS master and slave systems to serve. However, some functions such as the distribution of netmask information to clients, as well as the maintenance of e-mail aliases, may still be performed by NIS or LDAP.
당신이 LAN을 운영한다고 할 때, 일반적인 최종 목표는 유저들에게 투명한 네트웍 환경을 제공하는 것이다. 이를 위한 중요한 발판은 유저 계정 정보과 같은 핵심 데이터를 유지하는 일이다. 우리는 이전에, hostname resolution을 위해서 강력하고도 복잡한 DNS서벼스가 존재한다는 것을 본 바 있다. 그 외의 일을을 위한 특정 서비스는 존재하지 않는다. 게다가 당신이 그저 인터넷에 연결되지 않은 소규모 LAN을 운영하려 할 때, DNS는 관리상의 문제를 고려하자면 그리 유용성 있게 보이지 않는다.
이것이 바로 Sun에서 NIS(Network Information System)를 개발한 이유이다. NIS는, passwd와 group파일의 내용과 같은 정보를 당신의 네트웍 상에 있는 모든 호스트에 배포(distribute)하는데 사용하는 일반적인 데이터 베이스 억세스 기능을 제공한다. 이는 모든 호스트에 동일한 계정을 가지게하여 네트웍이 마치 단일 시스템처럼 보이게 한다. 이와 비슷하게, 호스트네임 정보 역시 NIS를 사용하여 /etc/hosts파일에서 네트웍 상의 모든 머신에게 배포할 수 있다.
NIS는 RPC를 기반으로 하고, 서버와 클라이언트 측 라이브러리, 그리고 몇가지 관리용 툴로 이루어져 있다. 원래, NIS는 Yellow Pages, 줄여서 YP라고 불리는데, 이는 이 서비스를 비공식적으로 지칭할 때 많이 쓰이는 이름이다. 반면, Yellow Pages는 British Telecom의 트레이드 마크이며, Sun 측에 그 이름을 포기할 것을 요구하고 있다. 뭐 다 그렇듯이, 이미 사람들 입에 붙어버린 YP는 NIS에 연관되 커맨드, 즉 ypserv, ypbind등과 같은 것들의 접두어로 남게되었다.
오를날 NIS는 거의 모든 Unice들에서 사용할 수 있으며, 무료 implementation 마저도 나와 있다. 하느는 BSD Net-2 릴리즈에서 유래한 것으로, Sun이 기증한 Publiv domain reference implementation을 계승한 것이다. 최근에야 NIS 관리용 프로그램이 Swen Thu:mmler에의해 리눅스로 포팅된 것과는 대조적으로, 이 릴리즈의 라이브러리 클라이언트 코드는 오래전부터 GNU libc에 내재되어 있었다. reference implementation에서는 NIS 서버가 제외되어 있었으나, Tobias Reber가 모든 툴과 서버를 지닌 새로운 NIS 패키지를 만들었으며, 이를 yps라 부른다.
현재, Peter Eriksson에 의해 완전히 재 코딩된 NIS 코드는 NYS라 불리며, 보통의 NIS와, Sun이 좀 더 수정을 가한 NIS+를 모두 지원한다. NYS는 NIS 툴셋과 서버를 지원할 뿐 아니라 언젠가는 표준 libc에 내재될 새로운 라이브러리 함수가 추가된 것이다. 이는 현재 hostname resolution을 하기위해 host.conf를 사용하는 구조 대신, 새로운 설정 구조를 지닌다. 이 기능에 대해선 나중에 논의할 것이다.
이 장은 "전통적인" NIS 코드라 말하는, 다른 두 패키지 보다는 NYS에 중점을 둔다. 만약 그 두 패키지 중 하나를 사용하고자 한다면 이 장의 설명은 충분할 수도, 불충분할 수도 있다. 추가적인 정보를 얻기위해선 Hal Stern의 NFS and NIS([Stern92]를 보라)와 같은 NIS에 대한 서적을 참고하라.
NYS는 아직 개발 중이며, 네트웍 프로그램이나 login 프로그램같은 표준 리눅스 유틸리티에도 NYS 설정구조가 반영되지 않았다. NYS가 main stream이라할 수 있는 libc에 포함되기 전까지는, 그것을 사용하기위해 이 모든 바이너리들을 재 컴파일 해야한다. 이러한 어플리케이션의 Makefile에, libc앞에 -lnsl을 마지막 옵션으로 linker에 지정하라. 이것은 표준 C 라이브러리대신 NYS 라이브러리인 libnsl에서 적절한 관련함수를 링크시킨다.
When you are running a local area network, your overall goal is usually to provide an environment to your users that makes the network transparent. An important stepping stone to this end is to keep vital data such as user account information synchronized between all hosts. We have seen before that for host name resolution, a powerful and sophisticated service exists, being DNS. For others tasks, there is no such specialized service. Moreover, if you manage only a small LAN with no Internet connectivity, setting up DNS may not seem worth the trouble for many administrators.
This is why Sun developed NIS, the Network Information System. NIS provides generic database access facilities that can be used to distribute information such as that contained in the passwd and groups files to all hosts on your network. This makes the network appear just as a single system, with the same accounts on all hosts. In a similar fashion, you can use NIS to distribute the hostname information form /etc/hosts to all machines on the network.
NIS is based on RPC, and comprises a server, a client-side library, and several administrative tools. Originally, NIS was called Yellow Pages, or YP, which is still widely used to informally refer this service. On the other hand, Yellow Pages is a trademark of British Telecom, which required Sun to drop that name. As things go, some names stick with people, and so YP lives on as a prefix to the names of most NIS-related commands such as ypserv, ypbind, etc.
Today, NIS is available for virtually all , and there are even free implementations of it. One is from the BSD Net-2 release, and has been derived from a public domain reference implementation donated by Sun. The library client code from this release has been in the GNU libc for a long time, while the administrative programs have only recently been ported to by Swen Thümmler. An NIS server is missing from the reference implementation. Tobias Reber has written another NIS package including all tools and a server; it is called yps.
Currently, a complete rewrite of the NIS code called NYS is being done by Peter Eriksson, which supports both plain NIS and Sun's much revised NIS+. NYS not only provides a set of NIS tools and a server, but also adds a whole new set of library functions which will most probably make it into the standard libc eventually. This includes a new configuration scheme for hostname resolution that replaces the current scheme using host.conf. The features of these functions will be discussed below.
This chapter will focus on NYS rather than the other two packages, to which I will refer as the ``traditional'' NIS code. If you do want to run any of these packages, the instructions in this chapter may or may not be enough. To obtain additional information, please get a standard book on NIS, such as Hal Stern's NFS and NIS (see-[]).
For the time being, NYS is still under development, and therefore standard utilities such as the network programs or the login program are not yet aware of the NYS configuration scheme. Until NYS is merged into the mainstream libc you therefore have to recompile all these binaries if you want to make them use NYS. In any of these applications' Makefiles, specify -lnsl as the last option before libc to the linker. This links in the relevant functions from libnsl, the NYS library, instead of the standard C-library.







Prev