1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
|
#!/bin/sh
# /etc/rc.d/rc.yp
#
# Start NIS (Network Information Service). NIS provides network-wide
# distribution of hostname, username, and other information databases.
# After configuring NIS, you will either need to uncomment the parts
# of this script that you want to run, or tweak /etc/default/yp
#
# NOTE: for detailed information about setting up NIS, see the
# documentation in /usr/doc/yp-tools, /usr/doc/ypbind,
# /usr/doc/ypserv, and /usr/doc/Linux-HOWTOs/NIS-HOWTO.
# Set non-zero to enable yp client functions
# Can also be used in /etc/default/yp to override this default:
YP_CLIENT_ENABLE=1
# Set non-zero to enable yp server functions
# Can also be used in /etc/default/yp to override this default:
YP_SERVER_ENABLE=0
# If YP_SERVER_ENABLE is set, a non-zero YP_XFRD_ENABLE setting will
# enable ypxfrd.
# Can also be used in /etc/default/yp to override this default:
YP_XFRD_ENABLE=0
PID_PATH=/var/run
# Source options. Doing this here makes it possible
# to override YP_*_ENABLE set above
if [ -r /etc/default/yp ]; then
. /etc/default/yp
fi
yp_start() {
if [ $YP_SERVER_ENABLE -ne 0 ]; then
# NIS SERVER CONFIGURATION:
# If you are the master server for the NIS domain, you must run ypserv to
# service clients on the domain.
if [ -x /usr/sbin/ypserv ]; then
echo "Starting NIS server: /usr/sbin/ypserv $YPSERV_OPTS"
/usr/sbin/ypserv $YPSERV_OPTS
fi
# If you are the master server for the NIS domain, you must also run
# rpc.yppasswdd, which is the RPC server that lets users change their
# passwords.
if [ -x /usr/sbin/rpc.yppasswdd ]; then
echo "Starting NIS master password server: /usr/sbin/rpc.yppasswdd $YPPASSWDD_OPTS"
/usr/sbin/rpc.yppasswdd $YPPASSWDD_OPTS
fi
# If you have NIS slave servers, you might also want to start up
# rpc.ypxfrd, which transfers changes in the NIS domain to slave servers.
# Alternatively, rpc.ypxfrd can be run out of inetd.
if [ $YP_XFRD_ENABLE -ne 0 ]; then
if [ -x /usr/sbin/rpc.ypxfrd ]; then
echo "Starting NIS transfer server: /usr/sbin/rpc.ypxfrd $YPXFRD_OPTS"
/usr/sbin/rpc.ypxfrd $YPXFRD_OPTS
fi
fi
fi
if [ $YP_CLIENT_ENABLE -ne 0 ]; then
# NIS CLIENT CONFIGURATION:
# If you are a NIS client, all you need to do is run ypbind.
# Your NIS server might also be a client.
if [ -d /var/yp ]; then
if [ -z "$YPBIND_OPTS" ]; then
YPBIND_OPTS="-broadcast"
fi
echo "Starting NIS services: /usr/sbin/ypbind $YPBIND_OPTS"
/usr/sbin/ypbind $YPBIND_OPTS
fi
fi
}
yp_stop() {
if [ -r ${PID_PATH}/ypbind.pid ]; then
echo "Stopping NIS services."
kill $(cat ${PID_PATH}/ypbind.pid)
fi
if [ -r ${PID_PATH}/ypxfrd.pid ]; then
echo "Stopping NIS transfer server."
kill $(cat ${PID_PATH}/ypxfrd.pid)
fi
if [ -r ${PID_PATH}/yppasswdd.pid ]; then
echo "Stopping NIS master password server."
kill $(cat ${PID_PATH}/yppasswdd.pid)
fi
if [ -r ${PID_PATH}/ypserv.pid ]; then
echo "Stopping NIS server."
kill $(cat ${PID_PATH}/ypserv.pid)
fi
}
# First, we must setup the NIS domainname. NOTE: this is not necessarily
# the same as your DNS domainname, set in /etc/resolv.conf. The NIS
# domainname is the name of a domain served by your NIS server.
#
# If /etc/defaultdomain has not been configured we'll bail out.
if [ -r /etc/defaultdomain ] && [ -x /bin/nisdomainname ]; then
if ! /bin/nisdomainname 1>/dev/null 2>/dev/null ; then
nisdomainname $(cat /etc/defaultdomain)
fi
else
echo "/etc/rc.d/rc.yp: NIS not configured. Hint: set up /etc/defaultdomain."
exit 0
fi
case "$1" in
'start')
yp_start
;;
'stop')
yp_stop
;;
'restart')
yp_stop
yp_start
;;
*)
echo "usage $0 start|stop|restart"
esac
# # Done setting up NIS.
|