home *** CD-ROM | disk | FTP | other *** search
/ Source Code 1992 March / Source_Code_CD-ROM_Walnut_Creek_March_1992.iso / usenet / altsrcs / 3 / 3410 / README < prev   
Encoding:
Text File  |  1991-05-24  |  2.4 KB  |  63 lines

  1. DESCRIPTION:
  2. In a basic BSD environemt only three utilities let people onto a machine:
  3.     login, rshd, and ftpd.
  4. These three programs are modified to check a YP map called 'permissions'
  5. which determines whether a person is allowed to login.
  6. Control over login is given based on four parameters: hostname, ttyname,
  7. login, and groups.
  8.  
  9. The permissions library routines have been tested on suns, iris, and mips
  10. boxes. The problem is not so much that permissions might be nonportable,
  11. but rather that source for login is unavailable on the other machines I
  12. have access to. Writing a workalike login for a system V box is nontrivial.
  13. permtest, rshd and ftpd have been tested to work though, with minor hacks.
  14. On a BSD-like box, permissions should be trivial to install.
  15.  
  16. Perhaps someone who has written a free system V login could send it to
  17. me. I'd love to support more architectures/operating systems.
  18.  
  19. The permissions library can be used for other purposes too. We also use it
  20. for printer access. Someone suggested doing device access like dialin/dailout
  21. and tape drives through it.
  22.  
  23. INSTALLATION:
  24. 1. Building permissions:
  25.     # make
  26. 2. Build a permissions map for your network and install it into YP.
  27.    See your systems manuals for the correct way to install a YP map
  28.    in your system. Here's what we use in /var/yp/Makefile,
  29.  
  30. permissions.time: $(DIR)/permissions
  31.     @(sed -e "/^#/d" -e s/#.*$$// $(DIR)/permissions $(CHKPIPE)) | \
  32.     $(MAKEDBM) - $(YPDBDIR)/$(DOM)/permissions; 
  33.     @touch permissions.time; 
  34.     @echo "updated permissions"; 
  35.     @if [ ! $(NOPUSH) ]; then $(YPPUSH) -d $(DOM) permissions; fi
  36.     @if [ ! $(NOPUSH) ]; then echo "pushed permissions"; fi
  37.  
  38.    To install the map, on sunos4.1, I would use the following:
  39.     # touch /etc/permissions
  40.     # ypmake NOPUSH=1 permissions
  41.     # foreach i ( `ypcat ypservers` )
  42.     > rsh $i /usr/etc/yp/ypxfr -h `hostname` permissions
  43.     > end
  44.     #
  45.  
  46. 5. Test the permissions database with permtest. For example,
  47.     # permtest -v deraadt ttyh0 fsa
  48.     8 groups: staff wheel daemon kmem bin oldstaff telnet cdrom
  49.     user deraadt permitted on fsa:ttyh0
  50.  
  51. 4. Now install the three remaining parts.
  52.     login/login -> /bin/login
  53.     in.ftpd/in.ftpd -> /usr/etc/in.ftpd
  54.     in.rshd/in.rshd -> /usr/etc/in.rshd
  55.    Be sure to save copies of your old utilities.
  56.    Remember, on most systems, login is setuid root.
  57.  
  58. One request. Please clear all changes to this through me. I would be very
  59. unhappy to see five different incompatible versions of this in use.
  60.  
  61. Enjoy.
  62. deraadt@cpsc.ucalgary.ca
  63.