home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #27 / NN_1992_27.iso / spool / comp / sys / sun / admin / 8442 < prev    next >
Encoding:
Text File  |  1992-11-19  |  6.3 KB  |  172 lines

  1. Newsgroups: comp.sys.sun.admin
  2. Path: sparky!uunet!cs.utexas.edu!sun-barr!ames!nsisrv!tron!css
  3. From: css@tron.stx.com (Chris Shenton)
  4. Subject: Re: How to autorebuild yp data in response to yppasswd? (SUMMARY)
  5. In-Reply-To: jc@raven.bu.edu's message of 18 Nov 92 19: 36:51 GMT
  6. Message-ID: <CSS.92Nov19104425@tron.stx.com>
  7. Sender: usenet@nsisrv.gsfc.nasa.gov (Usenet)
  8. Nntp-Posting-Host: tron.stx.com
  9. Organization: Hughes/STX, Lanham, MD
  10. References: <CSS.92Nov18102735@tron.stx.com> <JC.92Nov18143651@raven.bu.edu>
  11. Date: Thu, 19 Nov 1992 15:44:25 GMT
  12. Lines: 158
  13.  
  14. I got a bunch of responses to my query. A common complaint
  15. was that there is a bug which ignores the first argument; injecting a
  16. bogus argument is the solution there. The one I used simply specified
  17. the ``-m passwd'' option with no ``DIR=whatever'' and specified the
  18. DIR in the /var/yp/Makefile.
  19.  
  20. Following are the edited responses.
  21.  
  22. -- Chris
  23.  
  24. ------- Start of digest -------
  25. From: danba@pogo.wv.tek.com (Daniel J Balza)
  26.  
  27. This is my rc.local entry and it's been working fine for 5 months.
  28.  
  29. if [ -f /usr/etc/rpc.yppasswdd ]; then
  30.         /usr/etc/rpc.yppasswdd /var/etc/passwd -m passwd
  31.         echo 'starting yp passward deamon: rpc.yppasswdd'
  32. fi
  33.  
  34. ------------------------------
  35. From: danba@darkstar.wv.tek.com
  36.  
  37. Good point about the Makefile, I forgot about that :-)).   Here is the 
  38. passwd piece:
  39.  
  40. ALTDIR=/var/etc
  41. .
  42. .
  43. .
  44. .
  45. passwd.time: $(ALTDIR)/passwd
  46.         @(awk 'BEGIN { FS=":"; OFS="\t"; } /^[a-zA-Z0-9_]/ { print $$1, $$0 }' $
  47. (ALTDIR)/passwd  $(CHKPIPE))| $(MAKEDBM) - $(YPDBDIR)/$(DOM)/passwd.byname;
  48.         @(awk 'BEGIN { FS=":"; OFS="\t"; } /^[a-zA-Z0-9_]/ { printf("%-10d ", $$
  49. 3); print $$0 }' $(ALTDIR)/passwd $(CHKPIPE))| $(MAKEDBM) - $(YPDBDIR)/$(DOM)/pa
  50. sswd.byuid;
  51.         @touch passwd.time;
  52.         @echo "updated passwd";
  53.         @if [ ! $(NOPUSH) ]; then $(YPPUSH) -d $(DOM) passwd.byname; fi
  54.         @if [ ! $(NOPUSH) ]; then $(YPPUSH) -d $(DOM) passwd.byuid; fi
  55.         @if [ ! $(NOPUSH) ]; then echo "pushed passwd"; fi
  56.  
  57. ------------------------------
  58. From: Steve Hanson <hanson@pogo.fnal.gov>
  59.  
  60. Try something like the following:
  61.  
  62. /usr/etc/rpc.yppasswdd /var/etc/passwd -m passwd
  63.  
  64. A lot of SunOS releases won't work unless you use the full path name. 
  65. Also, I don't think you can JUST use DIR= as an argument to m - 
  66. You have to give the map name first.  So you could put in DIR=/var/etc/passwd
  67. at the end, but you probably don't have to if you  define DIR in you
  68. Makefile.
  69.  
  70. ------------------------------
  71. From: Hannu Visti <visti@cs.hut.fi>
  72.  
  73.     There is a bug in yppasswdd that causes the problem. It was
  74. discovered a long time ago, but sun hasn't yet bothered to fix it. 
  75. yppasswdd seems to ignore its first argument beginning with a -. I have here
  76.  
  77. rpc.yppasswdd /p/etc/yp/passwd -x -m passwd
  78.  
  79. in /etc/rc.local. It complains about -x being illegal, but it starts anyway,
  80. and then -x gets ignored, not -m.
  81.  
  82. ------------------------------
  83. From: jc@raven.bu.edu (James F. Cameron)
  84.  
  85. There is a bug in rpc.yppasswdd as it ignores the first argument which
  86. begins with a '-'.  The solution is to add '-nosingle' as the first
  87. argument as this is the default behaivor.  
  88.  
  89. ------------------------------
  90. From: Jack Stewart <jack@laguna.ccsf.caltech.edu>
  91.  
  92. This is what we have setup on delilah:
  93.  
  94.  /usr/etc/rpc.yppasswdd /var/yp/passwd -m passwd;
  95.  
  96. You probably don't want to try to pass the DIR variable on the command
  97. line to make with rpc.yppasswdd.  This is something that should be set
  98. in the /var/yp/Makefile (I think that anything you passwd will just
  99. get reset by the Makefile anyway).  If you want to have seperate
  100. locations for some of your raw datafiles, that should also be set in
  101. the /var/yp/Makefile.  Technically you don't need to specify the
  102. 'passwd' option after '-m' but we are just paranoid.
  103.  
  104. You should also make sure that ypxfrd and rpc.ypupdated is running on
  105. your NIS server as well.
  106.  
  107. P.S.  We don't actually use yppasswd command for updating the password
  108. files.  We use something called npasswd (npasswd does use the
  109. ypasswd() system call though).  npasswd will check for stupid user
  110. password tricks.  There is a program called ipasswd that is supposed
  111. to be even better.
  112.  
  113. ------------------------------
  114. From: das@scotty (Dennis Shumaker)
  115.  
  116. I hope this helps.
  117.  
  118. /etc/rc.local
  119.  
  120. #  NIS (yellow pages) password daemon runs on master server only
  121. #  DAS: 02/21/92
  122.  
  123. # my rc.local entry is alittle different than yours. I have passwd after
  124. # -m option.
  125.  
  126. domainname `cat /etc/defaultdomain`
  127.  
  128. if [ -f /usr/etc/rpc.yppasswdd -a -d /var/yp/`domainname` ] ; then
  129.        /usr/etc/rpc.yppasswdd /var/yp/passwd -m passwd DIR=/var/yp/`domainname`
  130. fi
  131.  
  132. I keep my copy of the passwd file at /var/yp. You keep yours at
  133. /var/etc .  I had to change the Makefile for NIS (/var/yp/Makefile) to
  134. point to the passwd file at /var/yp.  I still use the /etc/passwd
  135. file, but no users are in there.  All users passwords are in
  136. /var/yp/passwd. Root is not in with the users - I left root in
  137. /etc/passwd.
  138.  
  139. I put +: at the bottom of /etc/passwd so that is uses NIS. I run
  140. ypbind on the server.  Below is what was changed in the Makefile.
  141. note that vipw should not be used for users since vipw goes to
  142. /etc/passwd
  143.  
  144. DIRP =/var/yp
  145.  
  146. passwd.time: $(DIRP)/passwd
  147.         @(awk 'BEGIN { FS=":"; OFS="\t"; } /^[a-zA-Z0-9_]/ { print $$1, $$0 }' $(DIRP)/passwd  $(CHKPIPE))| $(MAKEDBM) - $(YPDBDIR)/$(DOM)/passwd.byname;
  148.         @(awk 'BEGIN { FS=":"; OFS="\t"; } /^[a-zA-Z0-9_]/ { printf("%-10d ", $$3); print $$0 }' $(DIRP)/passwd $(CHKPIPE))| $(MAKEDBM) - $(YPDBDIR)/$(DOM)/passwd.byuid;
  149.         @touch passwd.time;
  150.         @echo "updated passwd";
  151.         @if [ ! $(NOPUSH) ]; then $(YPPUSH) -d $(DOM) passwd.byname; fi
  152.         @if [ ! $(NOPUSH) ]; then $(YPPUSH) -d $(DOM) passwd.byuid; fi
  153.         @if [ ! $(NOPUSH) ]; then echo "pushed passwd"; fi
  154.  
  155. netid.time: $(DIRP)/passwd $(DIR)/group $(DIR)/hosts $(DIR)/netid
  156.         @$(MKNETID) -q -p $(DIRP)/passwd -g $(DIR)/group -h $(DIR)/hosts -m $(DIR)/netid > .ypjunk;
  157.         @$(MAKEDBM) .ypjunk $(YPDBDIR)/$(DOM)/netid.byname;
  158.         @rm -f .ypjunk;
  159.         @touch netid.time;
  160.         @echo "updated netid";
  161.         @if [ ! $(NOPUSH) ]; then $(YPPUSH) -d $(DOM) netid.byname; fi
  162.         @if [ ! $(NOPUSH) ]; then echo "pushed netid"; fi
  163.  
  164.  
  165. Since I changed the Makefile I had to remake the maps for passwd
  166.  
  167.     make passwd
  168.  
  169. ------- End of digest -------
  170. --
  171. -- Chris Shenton        css@tron.stx.com        Hughes/STX 301-794-5490
  172.