NIS adalah singkatan dari Network Information Service.
NIS disebut juga sebagai YP. YP adalah singkatan dari Yellow Pages.
NIS adalah layanan pencarian untuk kumpulan database. Basis data dalam kasus ini dapat berupa file passwd, file grup, file host, dll. Ini terutama digunakan sebagai repositori pusat untuk menyimpan semua nama pengguna dan kata sandi (yaitu /etc/passwd), dan server yang berbeda dapat mengotentikasi terhadap server ini untuk username dan password.
Ini sangat membantu bagi administrator sistem yang harus mengelola beberapa server. Daripada membuat akun pengguna untuk pengguna Anda di setiap server Linux, Anda bisa membuat akun di satu server yang dikonfigurasi untuk menjalankan server NIS. Semua server lain dapat dikonfigurasi sebagai klien NIS, yang akan mengautentikasi terhadap repositori server NIS pusat ini.
Ini adalah tutorial langkah demi langkah yang menjelaskan instalasi dan konfigurasi server dan klien ypserv NIS.
YPServ adalah singkatan dari Yellow Pages Server.
Jika server NIS sudah dikonfigurasi, dan Anda baru mencoba menghubungkan server Linux ke server NIS yang ada, lewati bagian “Konfigurasi Klien NIS” di bawah ini.
Jika Anda menginstal dan mengkonfigurasi server dan klien NIS, mulailah dari langkah pertama di bawah ini.
Konfigurasi Server NIS
1. Verifikasi Portmap
Server portmap memetakan port DARPA ke nomor program RPC. Untuk klien NIS yang membuat panggilan RPC untuk berbicara dengan Server NIS (yang merupakan server RPC), portmapper harus dijalankan.
Ketika server NIS dimulai, ia menginformasikan portmapper tentang port apa yang didengarkannya. Ketika klien NIS menghubungi server NIS, pertama-tama klien akan memeriksa dengan portmapper dan mendapatkan nomor port tempat server NIS dijalankan, dan akan mengirim panggilan RPC ke nomor port tersebut.
Pada sebagian besar distribusi Linux, portmap akan berjalan secara default. Pastikan itu berjalan, dan dikonfigurasi untuk dimulai ketika sistem di-boot ulang.
# ps -ef | grep -i portmap rpc 3624 1 0 Feb23 ? 00:00:00 portmap root 16908 8658 0 10:35 pts/0 00:00:00 grep -i portmap # chkconfig --list | grep portmap portmap 0:off 1:off 2:off 3:on 4:on 5:on 6:off
2. Instal YPServ
Instal ypserv di server Anda menggunakan metode penginstalan khas untuk distro Linux Anda masing-masing (misalnya:apt-get, atau yum, atau up2date, dll.).
Jika Anda ingin menginstalnya dari sumber, unduh sumber ypserv.
Pada sistem redhat, identifikasi RPM ypserv dari CD instalasi Anda dan instal seperti yang ditunjukkan di bawah ini menggunakan rpm.
# rpm -ivh ypserv-2.19-5.el5.i386.rpm Preparing... ########################################### [100%] 1:ypserv ########################################### [100%]
ypserv akan dipasang di bawah /usr/sbin/ypserv
# whereis ypserv ypserv: /usr/sbin/ypserv /etc/ypserv.conf /usr/share/man/man8/ypserv.8.gz
3. Mulai ypserv
Periksa untuk melihat apakah ypserv terdaftar dengan portmap seperti yang ditunjukkan di bawah ini.
# rpcinfo -u localhost ypserv rpcinfo: RPC: Program not registered program 100004 is not available
Output di atas menunjukkan ypserv tidak diinstal, atau ypserv diinstal tetapi belum dimulai. Pemeriksaan cepat berikut menunjukkan bahwa ypserv belum dimulai.
# chkconfig --list | grep yp ypbind 0:off 1:off 2:off 3:off 4:off 5:off 6:off yppasswdd 0:off 1:off 2:off 3:off 4:off 5:off 6:off ypserv 0:off 1:off 2:off 3:off 4:off 5:off 6:off ypxfrd 0:off 1:off 2:off 3:off 4:off 5:off 6:off # service ypserv status ypserv is stopped
Setel NISDOMAIN di file /etc/sysconfig/network seperti yang ditunjukkan di bawah ini.
# vi /etc/sysconfig/network NETWORKING=yes HOSTNAME=prod-db GATEWAY=192.168.1.1 NISDOMAIN=thegeekstuff.com
Jalankan ypserv seperti yang ditunjukkan di bawah ini.
# service ypserv start Setting NIS domain name thegeekstuff.com: [ OK ] Starting YP server services: [ OK ]
Ada beberapa parameter konfigurasi server NIS yang diatur dalam file /etc/ypserv.conf. Namun, Anda tidak perlu mengubah nilai default dalam file ini.
4. Buat Basis Data NIS
Setelah ypserv diinstal dan dijalankan, sekarang saatnya untuk membuat database NIS. Semua database NIS disimpan di bawah direktori /var/yp. Sebelum Anda membuat database, Anda tidak akan melihat direktori untuk nama domain Anda di bawah /var/yp.
# ls -l /var/yp total 36 drwxr-xr-x 2 root root 4096 May 18 2010 binding -rw-r--r-- 1 root root 16669 Oct 31 2008 Makefile -rw-r--r-- 1 root root 185 Jun 6 2007 nicknames
Hasilkan database NIS menggunakan program ypinit seperti yang ditunjukkan di bawah ini. Anda hanya perlu memasukkan nama host server NIS Anda untuk membuat database.
# /usr/lib/yp/ypinit -m Please continue to add the names for the other hosts, one per line. When you are done with the list, type a . next host to add: prod-db next host to add: The current list of NIS servers looks like this: prod-db Is this correct? [y/n: y] y We need a few minutes to build the databases... Building /var/yp/thegeekstuff.com/ypservers... Running /var/yp/Makefile... gmake[1]: Entering directory `/var/yp/thegeekstuff.com' Updating passwd.byname... Updating passwd.byuid... Updating group.byname... Updating group.bygid... Updating hosts.byname... Updating hosts.byaddr... ... gmake[1]: Leaving directory `/var/yp/thegeekstuff.com' prod-db has been set up as a NIS master server. Now you can run ypinit -s prod-db on all slave server.
Setelah membuat database, Anda dapat melihat direktori baru untuk domain Anda dibuat di bawah /var/yp seperti yang ditunjukkan di bawah ini.
# ls -l /var/yp total 44 drwxr-xr-x 2 root root 4096 Oct 8 10:59 thegeekstuff.com drwxr-xr-x 2 root root 4096 May 18 2010 binding -rw-r--r-- 1 root root 16669 Oct 31 2008 Makefile -rw-r--r-- 1 root root 185 Jun 6 2007 nicknames -rw-r--r-- 1 root root 10 Aug 31 10:58 ypservers
/var/yp/ypservers akan berisi nama hostname server NIS Anda.
# cat /var/yp/ypservers prod-db
5. Verifikasi pemasangan
Verifikasi instalasi server NIS dengan memeriksa apakah file passwd dapat diakses menggunakan program klien NIS ypcat.
# ypcat passwd No such map passwd.byname. Reason: Can't bind to server which serves this domain
Anda mungkin mendapatkan pesan kesalahan di atas karena ypbind mungkin tidak berjalan di sistem Anda. Mulai saja ypbind dan verifikasi konfigurasinya.
# service ypbind start # ypcat passwd ramesh:R7EFEGJ1mxRGwVLVC.:401:401::/home/ramesh:/bin/bash john:QtlRW$Fx.uZvD:402:402::/home/john:/bin/bash
Jika Anda tidak ingin menampilkan bidang passwd terenkripsi dalam keluaran ypcat passwd, setel MERGE_PASSWD ke false di /var/yp/Makefile seperti yang ditunjukkan di bawah ini.
# vi /var/yp/Makefile MERGE_PASSWD=false
Setelah Anda melakukan hal di atas, perintah ypcat passwd hanya akan menampilkan 'x' di file passwd.
# ypcat passwd ramesh:x:401:401::/home/ramesh:/bin/bash john:x:402:402::/home/john:/bin/bash
Setiap kali Anda membuat perubahan (baik pembaruan Makefile, atau perubahan database). Misalnya, saat Anda menambahkan pengguna baru, atau mengubah akun pengguna yang ada, Anda harus melakukan hal berikut. Tanpa ini, perubahan tidak akan terlihat pada klien NIS Anda.
# cd /var/yp # make
Saya sarankan Anda menambahkan ini ke root cron job di server NIS Anda untuk menjalankan ini setiap 15 menit. Dengan cara ini, Anda tidak perlu khawatir menjalankan ini secara manual setiap kali Anda membuat beberapa perubahan pada database NIS.
Konfigurasi Klien NIS
Langkah-langkah berikut perlu dijalankan pada klien NIS. Pada contoh di atas, kami menginstal server NIS pada nama server yang disebut prod-db. Jika Anda ingin server Linux lain dev-db, untuk menggunakan file /etc/passwd pada prod-db untuk otentikasi, Anda perlu melakukan langkah-langkah berikut pada server dev-db (klien NIS).
6. Atur Nama Domain di Klien
Verifikasi nama domain diatur dengan benar di server ini. Jika ini tidak mengembalikan nama domain yang tepat. Jalankan ‘domainname {domain-anda}’ untuk mengatur nama domain di server.
# domainname thegeekstuff.com
perintah domainname akan mengatur nama domain sementara. yaitu jika Anda me-reboot sistem, nama domain akan hilang. Untuk membuat nama domain permanen, perbarui file jaringan dan setel parameter NISDOMAIN seperti yang ditunjukkan di bawah ini.
# cat /etc/sysconfig/network NETWORKING=yes HOSTNAME=dev-db GATEWAY=192.168.1.4 NISDOMAIN=thegeekstuff.com
7. Atur Nama Server NIS pada Klien
Tambahkan baris berikut ke file /etc/yp.conf. Ini menginstruksikan klien NIS bahwa server NIS adalah prod-db. Alih-alih prod-db di bawah, Anda juga dapat memberikan alamat ip server prod-db.
# vi /etc/yp.conf domain thegeekstuff.com server prod-db
8. Mulai ypbind di Klien
ypbind adalah program pengikatan NIS. Ini mencari server NIS untuk domain NIS Anda dan memelihara informasi pengikatan NIS.
Pastikan ypbind aktif dan berjalan di server klien NIS. Sebagian besar distribusi Linux sudah menginstal ypbind. Jika tidak berjalan, mulai.
# ps -ef | grep ypbind # service ypbind start
Verifikasi instalasi server NIS dengan memeriksa apakah file passwd dapat diakses menggunakan program klien NIS ypcat.
# ypcat passwd No such map passwd.byname. Reason: Can't bind to server which serves this domain
Anda mungkin mendapatkan pesan kesalahan di atas karena ypbind mungkin tidak berjalan di sistem Anda. Mulai saja ypbind dan verifikasi konfigurasinya.
# service ypbind start # ypcat passwd ramesh:x.:401:401::/home/ramesh:/bin/bash john:x:402:402::/home/john:/bin/bash