1 # 2 # CDDL HEADER START 3 # 4 # The contents of this file are subject to the terms of the 5 # Common Development and Distribution License (the "License"). 6 # You may not use this file except in compliance with the License. 7 # 8 # You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9 # or http://www.opensolaris.org/os/licensing. 10 # See the License for the specific language governing permissions 11 # and limitations under the License. 12 # 13 # When distributing Covered Code, include this CDDL HEADER in each 14 # file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15 # If applicable, add the following below this CDDL HEADER, with the 16 # fields enclosed by brackets "[]" replaced with your own identifying 17 # information: Portions Copyright [yyyy] [name of copyright owner] 18 # 19 # CDDL HEADER END 20 # 21 # Copyright (c) 1990, 2010, Oracle and/or its affiliates. All rights reserved. 22 # 23 # Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T 24 # All Rights Reserved 25 # 26 # Portions of this source code were derived from Berkeley 27 # under license from the Regents of the University of 28 # California. 29 # 30 #---- 31 # It is somewhat confusing to note that Solaris 2.x uses /etc/auto_master 32 # instead of the 4.x /etc/auto.master file name because of NIS+ treating a 33 # "." in a special way. 34 # 35 # Set the following variable to "-b" to have NIS servers use the domain name 36 # resolver for hosts not in the current domain. 37 #B=-b 38 B= 39 DIR =/etc 40 # 41 # If the ipnodes (IPv6 hosts file) lives in a directory other than 42 # /etc/inet, then you'll need to change the following line. 43 # 44 INETDIR=/etc/inet 45 # 46 # If the auth_attr, exec_attr, prof_attr files 47 # live in a directory other than /etc/security, then you'll 48 # need to change the following line. 49 # 50 RBACDIR=/etc/security 51 # 52 # If the passwd, shadow and/or adjunct files used by rpc.yppasswdd 53 # live in directory other than /etc then you'll need to change the 54 # following line. 55 # DO NOT indent the line, however, since /etc/init.d/yp attempts 56 # to find it with grep "^PWDIR" ... 57 # 58 PWDIR =/etc 59 DOM = `domainname` 60 NOPUSH = "" 61 ALIASES = /etc/mail/aliases 62 YPDIR=/usr/lib/netsvc/yp 63 SBINDIR=/usr/sbin 64 YPDBDIR=/var/yp 65 YPPUSH=$(YPDIR)/yppush 66 MAKEDBM=$(SBINDIR)/makedbm 67 MULTI=$(YPDIR)/multi 68 REVNETGROUP=$(SBINDIR)/revnetgroup 69 STDETHERS=$(YPDIR)/stdethers 70 STDHOSTS=$(YPDIR)/stdhosts 71 MKNETID=$(SBINDIR)/mknetid 72 MKALIAS=$(YPDIR)/mkalias 73 74 CHKPIPE= || ( echo "NIS make terminated:" $@ 1>&2; kill -TERM 0 ) 75 76 77 k: 78 @if [ ! $(NOPUSH) ]; then $(MAKE) $(MFLAGS) -k all; \ 79 else $(MAKE) $(MFLAGS) -k all NOPUSH=$(NOPUSH);fi 80 81 all: passwd group hosts ipnodes ethers networks rpc services protocols \ 82 netgroup bootparams aliases publickey netid netmasks c2secure \ 83 timezone auto.master auto.home ageing \ 84 auth.attr exec.attr prof.attr user.attr 85 86 c2secure: 87 -@if [ -f $(PWDIR)/security/passwd.adjunct ]; then \ 88 if [ ! $(NOPUSH) ]; then $(MAKE) $(MFLAGS) -k \ 89 passwd.adjunct.time group.adjunct.time; \ 90 else $(MAKE) $(MFLAGS) -k NOPUSH=$(NOPUSH) \ 91 passwd.adjunct.time group.adjunct.time; \ 92 fi; \ 93 fi 94 95 passwd.time: $(PWDIR)/passwd $(PWDIR)/shadow 96 -@if [ -f $(PWDIR)/security/passwd.adjunct ]; then \ 97 (nawk 'BEGIN { FS=":"; OFS=":" } /^[a-zA-Z0-9_]/ { $$2 = "##" $$1; printf "%s\t%s\n", $$1, $$0 }' $(PWDIR)/passwd $(CHKPIPE)) | $(MAKEDBM) - $(YPDBDIR)/$(DOM)/passwd.byname; \ 98 (nawk 'BEGIN { FS=":"; OFS=":" } /^[a-zA-Z0-9_]/ { $$2 = "##" $$1; printf "%-10d\t%s\n", $$3, $$0 }' $(PWDIR)/passwd $(CHKPIPE)) | $(MAKEDBM) - $(YPDBDIR)/$(DOM)/passwd.byuid; \ 99 elif [ -f $(PWDIR)/shadow ]; then \ 100 (nawk 'BEGIN { FS=":"; OFS=":"; while ( getline < "$(PWDIR)/shadow" > 0) shadow[$$1] = $$2; } /^[a-zA-Z0-9_]/ { $$2 = shadow[$$1]; printf "%s\t%s\n",$$1,$$0 }' $(PWDIR)/passwd $(CHKPIPE))| $(MAKEDBM) - $(YPDBDIR)/$(DOM)/passwd.byname; \ 101 (nawk 'BEGIN { FS=":"; OFS=":"; while ( getline < "$(PWDIR)/shadow" > 0) shadow[$$1] = $$2; } /^[a-zA-Z0-9_]/ { $$2 = shadow[$$1]; printf "%-10d\t%s\n",$$3,$$0 }' $(PWDIR)/passwd $(CHKPIPE))| $(MAKEDBM) - $(YPDBDIR)/$(DOM)/passwd.byuid; \ 102 else \ 103 (awk 'BEGIN { FS=":"; OFS="\t"; } /^[a-zA-Z0-9_]/ { print $$1, $$0 }' $(PWDIR)/passwd $(CHKPIPE))| $(MAKEDBM) - $(YPDBDIR)/$(DOM)/passwd.byname; \ 104 (awk 'BEGIN { FS=":"; OFS="\t"; } /^[a-zA-Z0-9_]/ { printf("%-10d ", $$3); print $$0 }' $(PWDIR)/passwd $(CHKPIPE))| $(MAKEDBM) - $(YPDBDIR)/$(DOM)/passwd.byuid; \ 105 fi 106 @touch passwd.time; 107 @echo "updated passwd"; 108 @if [ ! $(NOPUSH) ]; then $(YPPUSH) -d $(DOM) passwd.byname; fi 109 @if [ ! $(NOPUSH) ]; then $(YPPUSH) -d $(DOM) passwd.byuid; fi 110 @if [ ! $(NOPUSH) ]; then echo "pushed passwd"; fi 111 112 group.time: $(DIR)/group 113 @(awk 'BEGIN { FS=":"; OFS="\t"; } /^[a-zA-Z0-9_]/ { print $$1, $$0 }' $(DIR)/group $(CHKPIPE))| $(MAKEDBM) - $(YPDBDIR)/$(DOM)/group.byname; 114 @(awk 'BEGIN { FS=":"; OFS="\t"; } /^[a-zA-Z0-9_]/ { printf("%-10d ", $$3); print $$0 }' $(DIR)/group $(CHKPIPE)) | $(MAKEDBM) - $(YPDBDIR)/$(DOM)/group.bygid; 115 @touch group.time; 116 @echo "updated group"; 117 @if [ ! $(NOPUSH) ]; then $(YPPUSH) -d $(DOM) group.byname; fi 118 @if [ ! $(NOPUSH) ]; then $(YPPUSH) -d $(DOM) group.bygid; fi 119 @if [ ! $(NOPUSH) ]; then echo "pushed group"; fi 120 121 project.time: $(DIR)/project 122 @(awk 'BEGIN { FS=":"; OFS="\t"; } /^[a-zA-Z0-9_]/ { print $$1, $$0 }' $(DIR)/project $(CHKPIPE))| $(MAKEDBM) - $(YPDBDIR)/$(DOM)/project.byname; 123 @(awk 'BEGIN { FS=":"; OFS="\t"; } /^[a-zA-Z0-9_]/ { printf("%-10d ", $$2); print $$0 }' $(DIR)/project $(CHKPIPE)) | $(MAKEDBM) - $(YPDBDIR)/$(DOM)/project.byprojid; 124 @touch project.time; 125 @echo "updated project"; 126 @if [ ! $(NOPUSH) ]; then $(YPPUSH) -d $(DOM) project.byname; fi 127 @if [ ! $(NOPUSH) ]; then $(YPPUSH) -d $(DOM) project.byprojid; fi 128 @if [ ! $(NOPUSH) ]; then echo "pushed project"; fi 129 130 ipnodes.time: $(INETDIR)/ipnodes 131 @($(MULTI) -n $(B) -l $(INETDIR)/ipnodes); 132 @($(STDHOSTS) -wn $(INETDIR)/ipnodes $(CHKPIPE))| \ 133 (awk 'BEGIN { OFS="\t"; } $$1 !~ /^#/ { print $$1, $$0 }' $(CHKPIPE)) | \ 134 $(MAKEDBM) $(B) - $(YPDBDIR)/$(DOM)/ipnodes.byaddr; 135 @touch ipnodes.time; 136 @echo "updated ipnodes"; 137 @if [ ! $(NOPUSH) ]; then $(YPPUSH) -d $(DOM) ipnodes.byname; fi 138 @if [ ! $(NOPUSH) ]; then $(YPPUSH) -d $(DOM) ipnodes.byaddr; fi 139 @if [ ! $(NOPUSH) ]; then echo "pushed ipnodes"; fi 140 141 hosts.time: $(DIR)/hosts 142 @($(MULTI) $(B) -l $(DIR)/hosts); 143 @($(STDHOSTS) -w $(DIR)/hosts $(CHKPIPE))| \ 144 (awk 'BEGIN { OFS="\t"; } $$1 !~ /^#/ { print $$1, $$0 }' $(CHKPIPE)) | \ 145 $(MAKEDBM) $(B) - $(YPDBDIR)/$(DOM)/hosts.byaddr; 146 @touch hosts.time; 147 @echo "updated hosts"; 148 @if [ ! $(NOPUSH) ]; then $(YPPUSH) -d $(DOM) hosts.byname; fi 149 @if [ ! $(NOPUSH) ]; then $(YPPUSH) -d $(DOM) hosts.byaddr; fi 150 @if [ ! $(NOPUSH) ]; then echo "pushed hosts"; fi 151 152 ethers.time: $(DIR)/ethers 153 @($(STDETHERS) $(DIR)/ethers $(CHKPIPE)) \ 154 |(awk '{print $$1, $$0; for (i = 3;i <= NF;i++) print $$i,$$0}' $(CHKPIPE)) \ 155 | $(MAKEDBM) - $(YPDBDIR)/$(DOM)/ethers.byaddr 156 157 @(awk 'BEGIN { OFS="\t"; } $$1 !~ /^#/ { print $$2, $$0 }' \ 158 $(DIR)/ethers $(CHKPIPE)) | \ 159 $(MAKEDBM) - $(YPDBDIR)/$(DOM)/ethers.byname; 160 @touch ethers.time; 161 @echo "updated ethers"; 162 @if [ ! $(NOPUSH) ]; then $(YPPUSH) -d $(DOM) ethers.byname; fi 163 @if [ ! $(NOPUSH) ]; then $(YPPUSH) -d $(DOM) ethers.byaddr; fi 164 @if [ ! $(NOPUSH) ]; then echo "pushed ethers"; fi 165 166 networks.time: $(DIR)/networks 167 @(sed -e "/^#/d" -e s/#.*$$// $(DIR)/networks $(CHKPIPE)) |( awk \ 168 '{print $$1, $$0; for (i = 3;i <= NF;i++) print $$i,$$0}' \ 169 $(CHKPIPE) )| $(MAKEDBM) - $(YPDBDIR)/$(DOM)/networks.byname; 170 @(awk 'BEGIN { OFS="\t"; } $$1 !~ /^#/ { print $$2, $$0 }' \ 171 $(DIR)/networks $(CHKPIPE)) | $(MAKEDBM) - $(YPDBDIR)/$(DOM)/networks.byaddr; 172 @touch networks.time; 173 @echo "updated networks"; 174 @if [ ! $(NOPUSH) ]; then $(YPPUSH) -d $(DOM) networks.byname; fi 175 @if [ ! $(NOPUSH) ]; then $(YPPUSH) -d $(DOM) networks.byaddr; fi 176 @if [ ! $(NOPUSH) ]; then echo "pushed networks"; fi 177 178 services.time: $(DIR)/services 179 @(awk 'BEGIN { OFS="\t"; } $$1 !~ /^#/ { print $$2, $$0 }' \ 180 $(DIR)/services $(CHKPIPE))| $(MAKEDBM) - $(YPDBDIR)/$(DOM)/services.byname; 181 @(awk 'BEGIN { OFS="\t"; } \ 182 $$1 !~ /^#/ { split($$2,pp,"/"); printf("%s/%s %s\n", $$1, pp[2], $$0);\ 183 if (seen[$$1] == "") {\ 184 printf("%s %s\n", $$1, $$0); seen[$$1]=$$1;} \ 185 for (i = 3; i <= NF && $$i !~ /^#/; i++) {\ 186 if (seen[$$i] == "") {\ 187 printf("%s %s\n", $$i, $$0); seen[$$i]=$$i;} \ 188 printf("%s/%s %s\n", $$i, pp[2], $$0)}}' \ 189 $(DIR)/services $(CHKPIPE)) | \ 190 $(MAKEDBM) $(B) - $(YPDBDIR)/$(DOM)/services.byservicename 191 192 @touch services.time; 193 @echo "updated services"; 194 @if [ ! $(NOPUSH) ]; then $(YPPUSH) -d $(DOM) services.byname; fi 195 @if [ ! $(NOPUSH) ]; then $(YPPUSH) -d $(DOM) services.byservicename; fi 196 @if [ ! $(NOPUSH) ]; then echo "pushed services"; fi 197 198 rpc.time: $(DIR)/rpc 199 @(awk 'BEGIN { OFS="\t"; } $$1 !~ /^#/ { print $$2, $$0 }' \ 200 $(DIR)/rpc $(CHKPIPE))| $(MAKEDBM) - $(YPDBDIR)/$(DOM)/rpc.bynumber; 201 @touch rpc.time; 202 @echo "updated rpc"; 203 @if [ ! $(NOPUSH) ]; then $(YPPUSH) -d $(DOM) rpc.bynumber; fi 204 @if [ ! $(NOPUSH) ]; then echo "pushed rpc"; fi 205 206 protocols.time: $(DIR)/protocols 207 @(awk 'BEGIN { OFS="\t"; } $$1 !~ /^#/ { print $$2, $$0 }' \ 208 $(DIR)/protocols $(CHKPIPE)) | $(MAKEDBM) - \ 209 $(YPDBDIR)/$(DOM)/protocols.bynumber; 210 211 @(sed -e "/^#/d" -e s/#.*$$// $(DIR)/protocols $(CHKPIPE)) |( awk \ 212 '{print $$1,$$0; for (i = 3;i <= NF;i++) print $$i, $$0}' \ 213 $(CHKPIPE))| $(MAKEDBM) - $(YPDBDIR)/$(DOM)/protocols.byname; 214 215 @touch protocols.time; 216 @echo "updated protocols"; 217 @if [ ! $(NOPUSH) ]; then $(YPPUSH) -d $(DOM) protocols.byname; fi 218 @if [ ! $(NOPUSH) ]; then $(YPPUSH) -d $(DOM) protocols.bynumber; fi 219 @if [ ! $(NOPUSH) ]; then echo "pushed protocols"; fi 220 221 netgroup.time: $(DIR)/netgroup 222 @$(MAKEDBM) $(DIR)/netgroup $(YPDBDIR)/$(DOM)/netgroup 223 @($(REVNETGROUP) < $(DIR)/netgroup -u $(CHKPIPE))| $(MAKEDBM) - $(YPDBDIR)/$(DOM)/netgroup.byuser 224 @($(REVNETGROUP) < $(DIR)/netgroup -h $(CHKPIPE))| $(MAKEDBM) - $(YPDBDIR)/$(DOM)/netgroup.byhost 225 @touch netgroup.time; 226 @echo "updated netgroup"; 227 @if [ ! $(NOPUSH) ]; then $(YPPUSH) -d $(DOM) netgroup; fi 228 @if [ ! $(NOPUSH) ]; then $(YPPUSH) -d $(DOM) netgroup.byuser; fi 229 @if [ ! $(NOPUSH) ]; then $(YPPUSH) -d $(DOM) netgroup.byhost; fi 230 @if [ ! $(NOPUSH) ]; then echo "pushed netgroup"; fi 231 232 bootparams.time: $(DIR)/bootparams 233 @(sed -e '/^#/d' -e s/#.*$$// -e 's/[ ][ ]*$$//' \ 234 -e '/\\$$/s/\\$$/ /' $(DIR)/bootparams $(CHKPIPE))\ 235 |( awk '/ $$/ {printf "%s", $$0} !/ $$/ {print}' $(CHKPIPE))\ 236 |( sed -e 's/[ ][ ]*/ /g' $(CHKPIPE))\ 237 | $(MAKEDBM) - $(YPDBDIR)/$(DOM)/bootparams; 238 @touch bootparams.time; 239 @echo "updated bootparams"; 240 @if [ ! $(NOPUSH) ]; then $(YPPUSH) -d $(DOM) bootparams; fi 241 @if [ ! $(NOPUSH) ]; then echo "pushed bootparams"; fi 242 243 aliases.time: $(ALIASES) 244 @cp $(ALIASES) $(YPDBDIR)/$(DOM)/mail.aliases; 245 @/usr/lib/sendmail -bi -oA$(YPDBDIR)/$(DOM)/mail.aliases; 246 $(MKALIAS) $(YPDBDIR)/$(DOM)/mail.aliases $(YPDBDIR)/$(DOM)/mail.byaddr; 247 @rm $(YPDBDIR)/$(DOM)/mail.aliases; 248 @touch aliases.time; 249 @echo "updated aliases"; 250 @if [ ! $(NOPUSH) ]; then $(YPPUSH) -d $(DOM) mail.aliases; fi 251 @if [ ! $(NOPUSH) ]; then $(YPPUSH) -d $(DOM) mail.byaddr; fi 252 @if [ ! $(NOPUSH) ]; then echo "pushed aliases"; fi 253 254 netmasks.time: $(DIR)/netmasks 255 $(MAKEDBM) $(DIR)/netmasks $(YPDBDIR)/$(DOM)/netmasks.byaddr; 256 @touch netmasks.time; 257 @echo "updated netmasks"; 258 @if [ ! $(NOPUSH) ]; then $(YPPUSH) -d $(DOM) netmasks.byaddr; fi 259 @if [ ! $(NOPUSH) ]; then echo "pushed netmasks"; fi 260 261 262 publickey.time: $(DIR)/publickey 263 @(sed "/^#/d" < $(DIR)/publickey $(CHKPIPE))| $(MAKEDBM) - $(YPDBDIR)/$(DOM)/publickey.byname; 264 @touch publickey.time; 265 @echo "updated publickey"; 266 @if [ ! $(NOPUSH) ]; then $(YPPUSH) -d $(DOM) publickey.byname; fi 267 @if [ ! $(NOPUSH) ]; then echo "pushed publickey"; fi 268 269 netid.time: $(PWDIR)/passwd $(DIR)/group $(DIR)/hosts $(DIR)/netid 270 @$(MKNETID) -q -p $(PWDIR)/passwd -g $(DIR)/group -h $(DIR)/hosts -m $(DIR)/netid > .ypjunk; 271 @$(MAKEDBM) .ypjunk $(YPDBDIR)/$(DOM)/netid.byname; 272 @rm -f .ypjunk; 273 @touch netid.time; 274 @echo "updated netid"; 275 @if [ ! $(NOPUSH) ]; then $(YPPUSH) -d $(DOM) netid.byname; fi 276 @if [ ! $(NOPUSH) ]; then echo "pushed netid"; fi 277 278 # Old way. Could be restored by PSARC decision. 279 # 280 #passwd.adjunct.time: $(PWDIR)/security/passwd.adjunct 281 # @(awk 'BEGIN { FS=":"; OFS="\t"; } /^[a-zA-Z0-9_]/ { print $$1, $$0 }' $(PWDIR)/security/passwd.adjunct $(CHKPIPE)) | \ 282 # $(MAKEDBM) -s - $(YPDBDIR)/$(DOM)/passwd.adjunct.byname; 283 # @chmod 600 $(YPDBDIR)/$(DOM)/passwd.adjunct.byname.dir; 284 # @chmod 600 $(YPDBDIR)/$(DOM)/passwd.adjunct.byname.pag; 285 # @touch passwd.adjunct.time 286 # @echo "updated passwd.adjunct"; 287 # @if [ ! $(NOPUSH) ]; then $(YPPUSH) -d $(DOM) passwd.adjunct.byname; fi 288 # @if [ ! $(NOPUSH) ]; then echo "pushed passwd.adjunct"; fi 289 290 passwd.adjunct.time: $(PWDIR)/security/passwd.adjunct $(PWDIR)/shadow 291 -@if [ -f $(PWDIR)/shadow ]; then \ 292 (nawk 'BEGIN { FS=":"; while (getline < "$(PWDIR)/shadow" > 0) shadow[$$1] = $$2; } /^[a-zA-Z0-9_]/ { $$2 = shadow[$$1]; OFS=":"; printf "%s\t%s\n", $$1, $$0 }' $(PWDIR)/security/passwd.adjunct $(CHKPIPE)) | $(MAKEDBM) -s - $(YPDBDIR)/$(DOM)/passwd.adjunct.byname; \ 293 else \ 294 (awk 'BEGIN { FS=":"; OFS="\t"; } /^[a-zA-Z0-9_]/ { print $$1, $$0 }' $(PWDIR)/security/passwd.adjunct $(CHKPIPE)) | \ 295 $(MAKEDBM) -s - $(YPDBDIR)/$(DOM)/passwd.adjunct.byname; \ 296 fi 297 @chmod 600 $(YPDBDIR)/$(DOM)/passwd.adjunct.byname.dir; 298 @chmod 600 $(YPDBDIR)/$(DOM)/passwd.adjunct.byname.pag; 299 @touch passwd.adjunct.time 300 @echo "updated passwd.adjunct"; 301 @if [ ! $(NOPUSH) ]; then $(YPPUSH) -d $(DOM) passwd.adjunct.byname; fi 302 @if [ ! $(NOPUSH) ]; then echo "pushed passwd.adjunct"; fi 303 304 group.adjunct.time: $(PWDIR)/security/group.adjunct 305 @(awk 'BEGIN { FS=":"; OFS="\t"; } /^[a-zA-Z0-9_]/ { print $$1, $$0 }' $(PWDIR)/security/group.adjunct $(CHKPIPE)) | \ 306 $(MAKEDBM) -s - $(YPDBDIR)/$(DOM)/group.adjunct.byname; 307 @chmod 600 $(YPDBDIR)/$(DOM)/group.adjunct.byname.dir; 308 @chmod 600 $(YPDBDIR)/$(DOM)/group.adjunct.byname.pag; 309 @touch group.adjunct.time 310 @echo "updated group.adjunct"; 311 @if [ ! $(NOPUSH) ]; then $(YPPUSH) -d $(DOM) group.adjunct.byname; fi 312 @if [ ! $(NOPUSH) ]; then echo "pushed group.adjunct"; fi 313 314 timezone.time: $(DIR)/timezone 315 -@if [ -f $(DIR)/timezone ]; then \ 316 sed -e "/^#/d" -e s/#.*$$// $(DIR)/timezone \ 317 | awk '{for (i = 2; i<=NF; i++) print $$i, $$0}' \ 318 | $(MAKEDBM) - $(YPDBDIR)/$(DOM)/timezone.byname; \ 319 touch timezone.time; \ 320 echo "updated timezone"; \ 321 if [ ! $(NOPUSH) ]; then \ 322 $(YPPUSH) timezone.byname; \ 323 echo "pushed timezone"; \ 324 else \ 325 : ; \ 326 fi \ 327 else \ 328 echo "couldn't find $(DIR)/timezone"; \ 329 fi 330 331 auto.master.time: $(DIR)/auto_master 332 -@if [ -f $(DIR)/auto_master ]; then \ 333 sed -e "/^#/d" -e s/#.*$$// $(DIR)/auto_master \ 334 | $(MAKEDBM) - $(YPDBDIR)/$(DOM)/auto.master; \ 335 touch auto.master.time; \ 336 echo "updated auto.master"; \ 337 if [ ! $(NOPUSH) ]; then \ 338 $(YPPUSH) auto.master; \ 339 echo "pushed auto.master"; \ 340 else \ 341 : ; \ 342 fi \ 343 else \ 344 echo "couldn't find $(DIR)/auto_master"; \ 345 fi 346 347 auto.home.time: $(DIR)/auto_home 348 -@if [ -f $(DIR)/auto_home ]; then \ 349 sed -e "/^#/d" -e s/#.*$$// $(DIR)/auto_home \ 350 | $(MAKEDBM) - $(YPDBDIR)/$(DOM)/auto.home; \ 351 touch auto.home.time; \ 352 echo "updated auto.home"; \ 353 if [ ! $(NOPUSH) ]; then \ 354 $(YPPUSH) auto.home; \ 355 echo "pushed auto.home"; \ 356 else \ 357 : ; \ 358 fi \ 359 else \ 360 echo "couldn't find $(DIR)/auto_home"; \ 361 fi 362 363 364 auth.attr.time: $(RBACDIR)/auth_attr 365 -@if [ -f $(RBACDIR)/auth_attr ]; then \ 366 sed -e "/^#/d" -e s/#.*$$// $(RBACDIR)/auth_attr \ 367 |sed -e '/\\$$/{:l' -e 'N;s/\\\n//;t h' -e ':h' \ 368 -e 's/\\$$/\\/;t l' -e } \ 369 | (nawk 'BEGIN { FS=":"; OFS=":" } /^[a-zA-Z0-9_]/ \ 370 {printf "%s:%s\n", $$1, $$0 }' $(CHKPIPE)) \ 371 | $(MAKEDBM) -S ":" -E - $(YPDBDIR)/$(DOM)/auth_attr; \ 372 touch auth.attr.time; \ 373 echo "updated auth_attr"; \ 374 if [ ! $(NOPUSH) ]; then \ 375 $(YPPUSH) auth_attr; \ 376 echo "pushed auth_attr"; \ 377 else \ 378 : ; \ 379 fi \ 380 else \ 381 echo "couldn't find $(RBACDIR)/auth_attr"; \ 382 fi 383 384 exec.attr.time: $(RBACDIR)/exec_attr 385 -@if [ -f $(RBACDIR)/exec_attr ]; then \ 386 sed -e "/^#/d" -e s/#.*$$// $(RBACDIR)/exec_attr \ 387 |sed -e '/\\$$/{:l' -e 'N;s/\\\n//;t h' -e ':h' \ 388 -e 's/\\$$/\\/;t l' -e } \ 389 | (nawk 'BEGIN { FS=":"; OFS=":" } /^[a-zA-Z0-9_]/ \ 390 {printf "%s:%s:%s:%s\n", $$1, $$2, $$6, $$0 }' $(CHKPIPE)) \ 391 | $(MAKEDBM) -S ":" -E -D 2 - $(YPDBDIR)/$(DOM)/exec_attr; \ 392 touch exec.attr.time; \ 393 echo "updated exec_attr"; \ 394 if [ ! $(NOPUSH) ]; then \ 395 $(YPPUSH) exec_attr; \ 396 echo "pushed exec_attr"; \ 397 else \ 398 : ; \ 399 fi \ 400 else \ 401 echo "couldn't find $(RBACDIR)/exec_attr"; \ 402 fi 403 404 prof.attr.time: $(RBACDIR)/prof_attr 405 -@if [ -f $(RBACDIR)/prof_attr ]; then \ 406 sed -e "/^#/d" -e s/#.*$$// $(RBACDIR)/prof_attr \ 407 |sed -e '/\\$$/{:l' -e 'N;s/\\\n//;t h' -e ':h' \ 408 -e 's/\\$$/\\/;t l' -e } \ 409 | (nawk 'BEGIN { FS=":"; OFS=":" } /^[a-zA-Z0-9_]/ \ 410 {printf "%s:%s\n", $$1, $$0 }' $(CHKPIPE)) \ 411 | $(MAKEDBM) -S ":" -E - $(YPDBDIR)/$(DOM)/prof_attr; \ 412 touch prof.attr.time; \ 413 echo "updated prof_attr"; \ 414 if [ ! $(NOPUSH) ]; then \ 415 $(YPPUSH) prof_attr; \ 416 echo "pushed prof_attr"; \ 417 else \ 418 : ; \ 419 fi \ 420 else \ 421 echo "couldn't find $(RBACDIR)/prof_attr"; \ 422 fi 423 424 user.attr.time: $(DIR)/user_attr 425 -@if [ -f $(DIR)/user_attr ]; then \ 426 sed -e "/^#/d" -e s/#.*$$// $(DIR)/user_attr \ 427 |sed -e '/\\$$/{:l' -e 'N;s/\\\n//;t h' -e ':h' \ 428 -e 's/\\$$/\\/;t l' -e } \ 429 | (nawk 'BEGIN { FS=":"; OFS=":" } /^[a-zA-Z0-9_]/ \ 430 {printf "%s:%s\n", $$1, $$0 }' $(CHKPIPE)) \ 431 | $(MAKEDBM) -S ":" -E - $(YPDBDIR)/$(DOM)/user_attr; \ 432 touch user.attr.time; \ 433 echo "updated user_attr"; \ 434 if [ ! $(NOPUSH) ]; then \ 435 $(YPPUSH) user_attr; \ 436 echo "pushed user_attr"; \ 437 else \ 438 : ; \ 439 fi \ 440 else \ 441 echo "couldn't find $(DIR)/user_attr"; \ 442 fi 443 444 ageing.time: $(PWDIR)/shadow 445 -@if [ -f $(PWDIR)/shadow ]; then \ 446 (awk 'BEGIN {FS=":"; OFS=":"} $$1 !~ /^#/ {printf "%s\t%s:%s:%s:%s:%s:%s:%s:%s\n", $$1,$$1,$$3,$$4,$$5,$$6,$$7,$$8,$$9}' $(PWDIR)/shadow) | $(MAKEDBM) - $(YPDBDIR)/$(DOM)/ageing.byname; \ 447 touch ageing.time; \ 448 echo "updated ageing"; \ 449 else \ 450 echo "couldn't find $(PWDIR)/shadow"; \ 451 fi 452 453 passwd: passwd.time 454 group: group.time 455 project: project.time 456 hosts: hosts.time 457 ipnodes: ipnodes.time 458 ethers: ethers.time 459 networks: networks.time 460 rpc: rpc.time 461 services: services.time 462 protocols: protocols.time 463 netgroup: netgroup.time 464 bootparams: bootparams.time 465 aliases: aliases.time 466 publickey: publickey.time 467 netid: netid.time 468 passwd.adjunct: passwd.adjunct.time 469 group.adjunct: group.adjunct.time 470 netmasks: netmasks.time 471 timezone: timezone.time 472 auto.master: auto.master.time 473 auto.home: auto.home.time 474 auth.attr:auth.attr.time 475 exec.attr:exec.attr.time 476 prof.attr:prof.attr.time 477 user.attr:user.attr.time 478 $(DIR)/netid: 479 $(DIR)/timezone: 480 $(DIR)/auto_master: 481 $(DIR)/auto_home: 482 $(PWDIR)/shadow: 483 $(DIR)/auth_attr: 484 $(DIR)/exec_attr: 485 $(DIR)/prof_attr: 486 $(DIR)/user_attr: 487 ageing: ageing.time