Servers, sockets & security

Jim Vlcek vlcek at mit-caf.MIT.EDU
Wed Jul 26 11:28:56 AEST 1989


I would like to design a simple server to help automate a
signup/signoff type of scheduler.  This would involve accepting
requests for a certain resource to be allocated to a user on a
specified date, checking to see that the target date is open, and
allocating it if it is.  Conversely, the signoff procedure would check
the specified date to see that it is allocated to the user seeking to
sign it off, and deallocate the date if so.

I'm working under 4.3BSD, and using sockets to connect the server to
the signup/signoff clients.  This avoids giving write access to the
schedule file to all qualified users (with obvious security
problems!), as would be necessary in the absence of a server.

What I'd like to know is: how can I verify the identity of a client
seeking to sign off?  This is to say, how can I keep someone from
creating a bogus client which falsifies it's owner's ID in order to
sign other users off?  I don't know of any way to determine the pid of
the process at the other end of a socket -- is there any?  Or should I
deny write access to the socket to all but its owner, and run the
client programs setuid?

Jim Vlcek  (vlcek at caf.mit.edu  uunet!mit-caf!vlcek)



More information about the Comp.unix.questions mailing list