Security

MCLINDEN at RUTGERS.ARPA MCLINDEN at RUTGERS.ARPA
Thu Jul 7 08:04:52 AEST 1983


From:  Sean McLinden <MCLINDEN at RUTGERS.ARPA>


 Not meaning to beat a dead horse, I think that it would be worthwhile
 to distinguish between those playful users who are "friendly" but
 mischievous and those who (if given the opportunity), would do harm
 to a system. In the first category might be included co-workers and
 system programmers (hackers). In an office setting, it
 may be nearly impossible to keep passwords a secret and anyone who has
 access to the machine console could easily bring the system down and
 back up in a single user mode, security notwithstanding. Having been
 both a system administrator and a programmer it seems to me that
 securing a system from the playful but trusted user is more a matter
 of education and less one of heavily guarding machine and system
 secrets (which is all but impossible anyway).

 The non-trusted user is a different story. Amost anyone with the
 desire can learn the inner workings of UNIX. Unlike IBM and
 (to a certain extent, DEC operating systems), practically
 eveyone who has UNIX license (educationally), has a source license
 and the sources are easy to get a hold of. The idea of creating
 restricted shells has been mentioned before and is frought with
 possibilities. For example, consider the following (very
 trivial), example:

 /* newroot.c  */

 main()
 {

	chroot ("/usr/guest");
	execlp ("csh" , "csh" , "-f " , 0 , 0);
 }

 This program, run setuid root, will create a shell (csh), whose
 idea of "root" is /usr/guest. Done properly, 
 chroot (which exists in 4.1 but which isn't documented), could
 be used to create systems with their own "super user",
 their own password files, and assuming that these separate
 roots can run init(), a system could be created
 completely secure from other systems on the same machine. The 
 drawback is, of course, that certain files and utilities would
 have to be duplicated for each system. On the other hand this
 may be one mechanism for isolating potential trouble spots
 from the entire system.

 Sean McLinden
-------



More information about the Comp.unix.wizards mailing list