Khi sử dụng hệ thống mạng nói chung, mục đích của chúng ta là làm cho môi trƣờng mạng trở nên trong suốt đối với ngƣời dùng. Một trong những điểm quan trọng là làm cho các dữ liệu quan trọng nhƣ là thông tin về ngƣời dùng, về các trạm trong mạng là đồng nhất trên tất cả các trạm làm việc. NIS (Network Information System) là một ứng dụng cung cấp các tiện ích truy nhập cơ sở dữ liệu để phân phối thông tin, chẳng hạn nhƣ dữ liệu trong /etc/passwd và /etc/group cho tất cả các máy trạm trên mạng. Điều này làm cho mạng trở nên một hệ thống duy nhất. NIS đƣợc xây dựng trên việc sử dụng dịch vụ RPC (Remote Procedure Call). Nó bao gồm một thƣ viện máy chủ, thƣ viện máy trạm và các công cụ quản trị. Ban đầu NIS đƣợc gọi là những trang vàng (Yellow Pages –YP). Cùng với sự phát triển của NIS mà có sự xuất hiện khác nhau trong các phiên bản. NIS truyền thống đƣợc xây dựng trên thƣ viện libc 4/5. NIS+ là sự mở rộng của NIS song vẫn hỗ trợ bảo mật thông tin. NYS là một phiên bản chuẩn hỗ trợ cả NIS và NIS+.
Hoạt động của NIS: NIS lƣu trữ cơ sở dữ liệu về thông tin quản trị mạng trong các file maps. Các file này đƣợc đặt trên một NIS server trung tâm, từ đó các NIS client có thể truy nhập đến các thông tin thông qua dịch vụ RPC. Các file maps thƣờng là các file theo định dạng DMB, một dạng cơ sở dữ liệu đơn giản. Các file maps đƣợc tạo ra từ các file văn bản nhƣ /etc/hosts hay /etc/passwd. Mỗi file văn bản này có thể có nhiều file maps khác nhau tùy thuộc vào khóa của nó.
Ví dụ nếu khóa là tên máy trạm thì ta có file hosts.byname, nếu khóa là địa chỉ IP thì ta có file hosts.byname.
- 56 -
File chủ File maps tƣơng ứng
/etc/hosts hosts.addr Hosts.byname
/etc/networks network.byname network.byaddr /etc/passwd passwd.byname passwd.byid /etc/groups Groups.byname group.byid /etc/services service.byname service.bynumber /etc/rpc rpc.bynumber rpc.byname
/etc/protocol protocol.byname protocol.bynumber /usr/lib/aliases mail.aliases
Mỗi một file maps có một tên ngắn hơn để đẽ nhớ đối với ngƣời dùng gọi là các nickname. Để hiển thị danh sách các nickname ta dùng lệnh ypcat:
#ypcat -x
Các chƣơng trình máy chủ của NIS thƣờng có tên là ypserv. Trong các mạng cỡ nhỏ ta chỉ cần một máy làm máy chủ NIS. Một miền (domain) NIS là một tập hợp các máy trạm đƣợc quản lý bởi một máy chủ NIS. Để hiển thị và đặt tên cho một miền ta sử dụng lệnh:
#domainname nis-domain
Tên miền NIS sẽ cho biết máy chủ của miền nào các ứng dụng sẽ truy cập để nhận thông tin cần thiết. Để biết đƣợc máy chủ nào trong mạng là NIS server, các chƣơng trình ứng dụng phải hỏi ypbind, một chƣơng trình chạy ngầm có nhiệm vụ phát hiện các NIS server trên mạng. Nó sẽ phát các gói tin quảng bá để tìm các máy chủ NIS trên mạng hoặc sử dụng các thông tin trong các file cấu hình ngƣời quản trị đã cung cấp.