�� ������ ���ϱ� ����, ���� �ΰ����� �����ؾ� �Ѵ�.
ù ��° ��쿡��, ���� ypbind, ypswitch, ypcat, yppoll, ypmatch ���� Ŭ���� ��Ʈ ���α����� �ʿ�� �Ѵ�. ���� �߿��� ���α��� ypbind�̴�. �� ���α� ���� �� ���� �߿� �־�� �Ѵ�. �װ��� �� ���α��� �� ���μ����� ���� Ʈ�� �־�� �Ѵٴ� ���̴�. �̰��� ���� ���μ����� �ý��� ���� ���Ͽ� ���� ���۵Ǿ�� �Ѵ�. (����, /etc/init.d/nis, /sbin/init.d/ypclinet, /etc/rc.d/ init.d/ypbind, /etc/rc.local)�������� �ý����� ypbind�� ���۵��� ���� NIS�� Ŭ���̾�Ʈ�� �Ǵ� ���̴�.
�� ��° ��쿡, NIS ������ �������� ���� ��, �������� �и� NIS ���� ���α� ��(���� ypserv�� �Ҹ�)�� �ʿ��� ���̴�. NIS�����ϱ� �κп��� Peter Eriksson�� Thorsten Kukuk�� ���� ������� "ypserv" �� �̿��� �� �������� ������ �ӽ��� NIS�� ��� ��ġ�ϴ����� ������ ���̴�. ���� 0. 14���ʹ� 4.1�κп��� ����� �� �ִ� master-slave������ ������ �ٴ� ���� �� ���� �ξ��.
������ Tobias Reber�� ���� yps��� NIS ���� ���α��� master-slave ���� �� ����������, ���������� �������� ���� �ٸ� ������� �ִ�.
�ý��� ���̺귯���� "/usr/lib/libc.a" (���� 4.4.2������ ��) Ȥ��, �������� �귯���� "/lib/libc.so.x"�� NIS Ŭ���̾�Ʈ, ���� ���α��� ���������� �� ���� �ϱ� ���� �ý��� ���� ��� ������ �ִ�. GNU C ���̺귯�� 2(glibc2)�� ���ؼ��� /lib/libnsl.so.1�� �ʿ���Ѵ�.
� �̵��� NIS�� ���� 4.5.21������ "/usr/lib/libc.a"�� �۵��ȴٰ� �ϱ� ������, �����ϰ� �۵��ϱ� ���Ѵٸ� ���� ������ libc���� ���� �ʴ°� ����. NIS Ŭ���̾�Ʈ ����Ʈ����� ������ ��ҿ��� ���� �� �ִ�.
Site Directory File Name
ftp.kernel.org /pub/linux/utils/net/NIS yp-tools-2.2.tar.gz
ftp.kernel.org /pub/linux/utils/net/NIS ypbind-mt-1.4.tar.gz
ftp.kernel.org /pub/linux/utils/net/NIS ypbind-3.3.tar.gz
ftp.kernel.org /pub/linux/utils/net/NIS ypbind-3.3-glibc5.diff.gz
ftp.uni-paderborn.de /linux/local/yp yp-clients-2.2.tar.gz
����Ʈ��� ������ ��, ����Ʈ��� ���Ե� �ν�Ʈ������ �а� ������ �ٶ� ��. yp-clients 2.2�� libc4�� libc5 ���� 5.4.20������ ���� ���̴�. libc 5.4 .21�� glibc 2.x�� yp-tools 1.4.1�� �� ���� ������ �ʿ�� �Ѵ�. ���γ��� yp -tools 2.2�� ��� �������� libc���� �۵��ȴ�. ��, NIS �ڵ忡 ���װ� �־ , �������� 5.4.21 - 5.4.35 ������ libc�� ����ϸ� �ȵȴ�. ��� 5.4.36 ���� ������ ����ϴ°� ����. ���� ������ ��κ��� YP���α��� �۵����� ���� ���̴�. ypbind 3.3�� ���� ��� ���̺귯������ �۵��Ѵ�. ���� gcc 2.8.xȤ�� �� ���� ����,egcs Ȥ�� glibc 2.x�� ����Ѵٸ�, ypbind-3.3-glibc5.diff patc h�� ypbind-3.3�� �߰��� ����Ѵ�. yp-clients 2.2���� ���� ypbind�� ������� ����. ypbind-mt�� ���γ��� ��Ƽ ������ �����̴�. �̰��� Kernel 2.2�� glibc 2.1Ȥ�� ���� ������ �ʿ�� �Ѵ�.
����Ʈ��� ���������� �������� ������, ���� �ν����� �� �غ� �� ���� ��. ypbind ������ ������ ���丮�� /usr/sbin �̴�. � �̵��� NYS�� �̿� �ϴ� �ý��ۿ����� ypbind�� �ʿ� ���� ���̶�� ���� ���� �ִ�. �̰��� Ʋ�� ���̴�. ypwhich�� ypcat�� �� ypbind�� �ʿ�� �Ѵ�.
��ġ �ܰ��� ���� ù��°�� �̰��� �ؾ��Ѵ�. �ٸ� ���̳ʸ���(ypwhich, ypcat , yppasswd, yppoll, ypmatch)�� ���� /usr/bin�� ���� �ٸ� ��� �������� �� �� ������ ���� �־�� �Ѵ�.
���ο� ������ ypbind�� /etc/yp.conf��� ���������� ������ �ִ�. �������� �� ���Ͽ��� NIS������ �ϵ��ڵ��� �� �� �ִ�. �� �� ���� ������ manual pa ge�� ypbind(8)�� �����ϱ� �ٶ���. NYS�� ���ؼ��� �� ������ �ʿ��ϴ�. �������:
ypserv votager
ypserv defiant
ypserv ds9
���� �ý��ۿ��� NIS���� ȣ��Ʈ ������ �˾Ƴ� �� �ִٸ� �׳� �� �̸��� ��� �ϸ� ������, ���� ���� ��쿡�� IP address�� ����ؾ� �Ѵ�. ypbind 3.3�� ���װ� �־, �� ���� �������� ypserv ds9���� ����ؾ� �Ѵ�. ��� �ٸ� �� ���� ���õȴ�. ypbind-mt�� �̰��� �����Ͽ� ����Ѵ�.
��ŸƮ �� ���Ͽ��� ������ ������ ��������, ypbind�� ���� ���� ���� ����. ypbind�� ��Ʈ �� ���� ���� ������ ���� �� �� �ִ�.
/bin/domainname nis.domain
nis.domain
�� ���� �������� �ӽ��� DNS-domain�� �������� _
�ʴ�_ ���ڿ��̴�! �� ������ �ܺ��� ũ��Ŀ�� NIS������ �н����� ����
�ͺ��̽��� �����ϴµ� �� �� ����� �� �� �ְ� �DZ� �����̴�. ����
�������� ������ ��Ʈ��ũ�� NIS ������ ������ �ٸ�, �ý��� ��Ʈ
��ũ �����ڿ��� ������ ����.
program vers proto port
100000 2 tcp 111 portmapper
100000 2 udp 111 portmapper
100007 2 udp 637 ypbind
100007 2 tcp 639 ypbind
Ȥ��
program vers proto port
100000 2 tcp 111 portmapper
100000 2 udp 111 portmapper
100007 2 udp 758 ypbind
100007 1 udp 758 ypbind
100007 2 tcp 761 ypbind
100007 1 tcp 761 ypbind
�̰��� �������� ����ϴ� ypbind�� ������ ���� �ణ�� ���̰� �ִ�.
program 100007 version 2 ready and waiting
Ȥ��
program 100007 vsrsion 1 ready and waiting
program 100007 version 2 ready and waiting
����� �������� ��ġ�� ypbind������ ���� ���� ���� �ִ�. �߿���
���� "version 2"��� �����̴�.���� �������� ypcat��� ���� NISŬ���̾�Ʈ ���α����� �����ų �� �ִ�. ���� ��� "ypcat passwd.byname"�� �����п��� ��ü NIS �н����� �����ͺ��� ���� ������ �� ���̴�.
�߿���� : ���� �������� ��Ʈ�� �׳� �dzʶپ��ٸ�, domain ������ ������ �� �Ͱ�, ���� ���丮 ����� ���� Ȯ���� �϶�.
/var/yp
�� ���丮�� ypbind�� ���������� ����DZ� ���Ͽ� "�ݵ��" �����ؾ� �Ѵ�.
domainnmae�� �ùٸ��� ���õǾ������� ��������, yp-tools 2.2�� /bin/ypdomai nname �� ����϶�. �̰��� ���� ������ yp_get_default_domain()�Լ��� ��� �Ѵ�. �̰��� �������� �⺻���� �����Ǿ� ���� ������ ����Ű�� (none) domain name�� ������� �ʴ´�.
���� ��Ʈ�� �Ǿ��ٸ�, �������� ���ý� ypbind�� ����Ǿ� �������� �ӽ��� NIS Ŭ���̾�Ʈ�� �� �� �ֵ��� ���� ������ �����ϱ� ���� ���� ��. ypbin d�� ���۵DZ� ���� domainname�� ���õȴٴ� ���� Ȯ���� �˾� ����.
�ٷ� �װŴ�. �ӽ��� ����Ʈ�ϰ�, ypbind�� ������ ���۵Ǿ����� ��Ʈ ���� �� ���캸�ƶ�.
ȣ��Ʈ lookup�� ���� /etc/host.conf ������ lookup order �ٿ� "nis" �� �ٿ� �־��. �ڼ��� ������ ���Ͽ� man�������� "resolv+.8"�� �����϶�.
������ NISŬ���̾�Ʈ�� /etc/passwd���Ͽ� ���� ���� �߰��Ͽ���.
+::::::
�������� +�� -���ڵ��� ����Ͽ� ����ڵ��� ����/���� Ȥ�� ������ �� �ִ�. ���� guest������ ����ϰ� �ʹٸ�, ���� -guest�� /etc/passwd���Ͽ� �־��ָ� �ȴ�. "linux"��� �������� ksh�� ���� �ٸ� ���� ����ϰ� �ϰ� �ʹ��ص� �� �� ���� ����. ���� "+linux::::::/bin/ksh" ( ""�� �����ϰ� )�� /etc/passwd �� �߰��ϸ� �ȴ�. �����ϰ� ���� ���� �ʵ忡 ���ؼ��� �׳� ��ĭ���� ���� �� �� �ȴ�. �������� ���� ����ڵ��� �����ϱ� ���� Netgroup�� ��� �� �� �ִ�.
���� ���, miquels�� dth, ed ���� ��� sysadmin netgroup�� ��� ����鿡 �Ը� �α� ������ ���������, �ٸ� ��� �������� ���� ������ ��밡���� ���·� ���� �α� ���ؼ��� ������ ���� �ϸ� �ȴ�.
+miquels:::::::
+ed:::::::
+dth:::::::
+@sysadmins::::::
-ftp
+:*::::::/etc/NoShell
������������ ���� ������ ���� �н����� �ʵ带 ��ø �� �� �ִ�. "ftp" �α� �� ���� �߱� ������, �̰��� ���̻� �˷����� �ʾ� anonymous ftp�� ���̻� �� ������ ���� ���̴�.
netgroup�� ������ ����.
sysadmins (-,software,) (-,kukuk,)
�߿���� : netgroup�� ����� libc 4.5.26���� ��������� ������, 4.5.26 �� �� ������ ����ϰ� �ȴٸ�, ypbind�� ��� �ִ� �� NIS �н����� �����ͺ��̽� �� �ִ� ��� �������� �������� ������ �ӽ��� �α� �� �� �ִ�!!!
NIS ���� ������ /etc/yp.conf���� �ʿ��� ������ ���� �ùٸ� ������ ����Ű �� ���̴�. ���� Name Services Switch ���� ����( /etc/nsswitch.conf )�� �� �ٸ��� �¾� �Ǿ� �־�� �Ѵ�.
�������� ypbind�� ��ġ�ؾ� �Ѵ�. libc�� �̰��� �ʿ�� ������ ������, NIS(Y P) ������ �̰��� �ʿ�� �Ѵ�.
�������� ����� ����/������ ���(+/-guest/+@admins)�� ����ϱ� ���Ѵٸ�, n sswitch.conf ���Ͽ��� "passwd: compat"�� "group :compat"�� ����ؾ� �Ѵ�. "shadow: compat"�� ���ٴ� ���� Ȯ���� �˾� ����. �̷� ��쿡 �װ� ��� "sh adow: files nis"�� ����Ѵ�.
NYS �ҽ����� libc 5 �ҽ����� �Ϻκ��̴�. ������ �� ��, ó���� "Values corr et"�� ������ "NO"��� �ϰ�, "Build a NYS libc from nys"��� �������� "YES" ��� ���϶�.
glibc�� "�������� NIS"�� ����Ѵ�. ���� ypbind�� ����ؾ��� �ʿ䰡 �ִ� ���̴�. Name Services Switch���� ����( /etc/nsswitch.conf ) ������ �ùٸ��� �¾� �Ǿ� �־�� �Ѵ�. ���� �������� passwd, ������ Ȥ�� group�� ���Ͽ� co mpat ��带 ����Ѵٸ� ���� �� �������� "+"�� �߰��� ��� �Ѵ�. ���� ���� �� ����/���� ����� ����� �� �ִ�. ������ �ֶ� 2.x���� �ϴ� �Ͱ� ��Ȯ �ϰ� ��ġ�Ѵ�.
/etc/host.conf�� ȣ��Ʈ�� ã�� ����� �����ϴ� �Ͱ� ����, Network Service switch���� /etc/nsswitch.conf�� � ������ �䱸�Ǿ��� ��, lookup�ϴ� ���� �� �����Ѵ�. ���� ��� ���� ����
hosts: files nis dns
host�� lookup(ã��)�ϴ� ����� ���� NIS lookup�� ������ /etc/hosts ������ ã�ƺ��� ���������� ������ ���� ����( /etc/resolv.conf�� named )�� ���� ��. �� ��, �������� ��쿡�� ������ �����Ѵ�. �� ������ ��� �������� �б� ������ �־����� �Ѵ�! �������� man-page�� nsswitch.5Ȥ�� nsswitch.conf.5�� �� �� �� ���� ������ ���� �� ���� ���̴�.
NIS�� ���� /etc/nsswitch.conf �� ���� ���̴�.
#
# /etc/nsswitch.conf
#
# An example Name Service Switch config file. This file should be
# sorted with the most-used services at the beginning.
#
# The entry '[NOTFOUND=return]' means that the search for an
# entry should stop if the search in the previous entry turned
# up nothing. Note that if the search failed due to some other reason
# (like no NIS server responding) then the search continues with the
# next entry.
#
# Legal entries are:
#
# nisplus or nis+ Use NIS+ (NIS version 3)
# nis or yp Use NIS (NIS version 2), also called YP
# dns Use DNS (Domain Name Service)
# files Use the local files
# db Use the local database (.db) files
# compat Use NIS on compat mode
# [NOTFOUND=return] Stop searching if not found so far
#
passwd: compat
group: compat
# For libc5, you must use shadow: files nis
shadow: compat
passwd_compat: nis
group_compat: nis
shadow_compat: nis
hosts: nis files dns
services: nisplus [NOTFOUND=return] files
networks: nisplus [NOTFOUND=return] files
protocols: nisplus [NOTFOUND=return] files
rpc: nisplus [NOTFOUND=return] files
ethers: nisplus [NOTFOUND=return] files
netmasks: nisplus [NOTFOUND=return] files
netgroup: nisplus
bootparams: nisplus [NOTFOUND=return] files
publickey: nisplus [NOTFOUND=return] files
automount: files nisplus
aliases: nisplus [NOTFOUND=return] files
passwd_compat, group_compat ���� shadow_compat�� glibc 2.x������ ������ ��. ���� /etc/nsswitch.conf�� �����쿡 ���� ��Ģ���� ���ٸ�, glibc�� look up�� ���� passwd ��Ģ�� ����� ���̴�. glibc�� ���� hesoid���� �ٸ� looku p ������ �ִ�. ���� ���� ������ ����, glibc ������ �����ϱ� �ٶ���.
NIS������ ������ �н������ �� ���� ���� ���̵���̴�. �����찡 �ִ� ���� �� ���� �Ӹ� �ƴ϶�, �̰��� ���� ���� ����� ������ C ���̺귯�������� ���� �ȴ�. NIS������ ������ �н����带 ���ϴ� ���� ����� ���� ���� �ý����� �� ���� /etc/shadow�� �ִ� ���̴�. �̷��� �����ν� �������� root �α�� ������ �� �̿��� �� �ְ�, �Ϲ� NIS �����鿡�Դ� ������ passwd ����� ����� �� �� ��. �̰����� ��� NISŬ���̾�Ʈ�� �Բ� �۵��ϴ� ������ ���� �� �ִ�.
NIS���� ������ �н����带 �����ϴ� ������ libc�� GNU C Library 2.x�ۿ� �� ��. ������ libc 5�� �̰��� �������� ���Ѵ�. ������ libc 5�� NYS�� ������ �ڵ�� �Բ� ������ �Ǿ�����, �� �ڵ�� � ��쿡 �־ �ɰ��ϰ� ������ ����, ��� �ùٸ� ������ ��Ʈ���� ���Ͽ� �۵����� �ʴ´�.
�ֶ��� NIS�� ���� ������ �н����带 �������� �ʴ´�.
PAM�� ������ pam_pwdb/libpwdb���� NIS�� ���� �н����带 �������� �ʴ´�. �̰��� RedHat 5.x �����鿡�� �־ ū �����̴�. ���� glibc�� PAM�� ���� �� �ִٸ�, �������� /etc/pam.d/* ��Ʈ������ ������ �ʿ䰡 �ִ�. ��� pam_p wdb ��Ģ���� pam_unix_* ����� ��ü�ض�. pam_unix_auth.so ����� ���� �� ����, �̰��� ������ �۵������� �ʴ´�.
/etc/pam.d/login ������ ���� ������ �����ϴ�:
#%PAM-1.0
auth required /lib/security/pam_securetty.so
auth required /lib/security/pam_unix_auth.so
auth required /lib/security/pam_nologin.so
account required /lib/security/pam_unix_acct.so
password required /lib/security/pam_unix_passwd.so
session required /lib/security/pam_unix_session.so
������ ���Ͽ� �������� pam_unix_auth.so ����� �ʿ��ϴ�. ������ ���ؼ��� p am_unix_acct.so�� �ʿ��ϰ� �н����带 ���ؼ� pam_unix_passwd.so ���� �� ��ó���� ���� pam_unix_session.so����� �ʿ��ϴ�.