home *** CD-ROM | disk | FTP | other *** search
/ minnie.tuhs.org / unixen.tar / unixen / PDP-11 / Bug_Fixes / Net.v7bugs / 0037 < prev    next >
Encoding:
Text File  |  1981-10-25  |  981 b   |  24 lines

  1. Autzoo.1055
  2. net.v7bugs
  3. utzoo!henry
  4. Sun Oct 25 00:49:57 1981
  5. signals vs uids
  6. Standard V7 lets signals through to a process only if the effective uid
  7. matches.  Problem:  one sometimes needs to kill a setuid process one
  8. has started.  No way.  There are two relevant considerations:
  9.  
  10. 1. Clearly, if you start it, you should be able to stop it.
  11.  
  12. 2. Equally clearly, one reason a setuid program goes setuid is to diddle
  13.     a privileged database.  Killing passwd(1) in the middle of an
  14.     update to /etc/passwd is a poor idea.
  15.  
  16. Consideration #2 means you cannot just test both real and effective uids.
  17. Privileged updates can get arbitrarily complex, and there is no general
  18. way for the kernel to tell whether a process is doing one.
  19.  
  20. Proposal:  a signal is transmitted if the effective uids match, or if the
  21. real uids match AND THE SIGNAL IS BEING CAUGHT.  This solves the problem
  22. by letting signals through to setuid processes only if the process is
  23. explicitly prepared for them.  Comments?
  24.