Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!seismo!nbires!isis!csm9a!japplega From: japplega@csm9a.UUCP (Joe Applegate) Newsgroups: comp.os.minix Subject: MKDIR & MKNOD call in MINIX Message-ID: <461@csm9a.UUCP> Date: Wed, 1-Jul-87 02:43:30 EDT Article-I.D.: csm9a.461 Posted: Wed Jul 1 02:43:30 1987 Date-Received: Fri, 3-Jul-87 02:48:24 EDT Organization: Colorado School of Mines Lines: 34 Well, after much effort I applied the patches to make minix run on my Tandy 1000 as well as use my HD part. 2 as ROOT.... only to discover that the code used to compile the original version of fs can not possibly be the code in the book or on the fs directory.... case in point.... only uid 0 (root) can call mknod()... that fits in well with the V7 doc... but mkdir.c calls mknod() to create a directory! Apparently mv does likewise when renaming or moving a directory... the end result is that if you recompile fs no one but the super-user can mkdir or mv (directories).... UGGHH... now I will admit that I am a full fledged novice at UNIX (my background is OS9 and MS-DOS) but it appears to me that the published source was quietly hacked before compilation (under PCIX I assume?) to allow all users to mknod()... when I removed the check on line 9547: if (!super_user) return(EPERM); the mkdir and mv programs worked fine.... now if I can get SU to work.... Does anyone have a suggestion for mkdir or mv that will allow the restriction on mknod() to stay in effect??? All flames aside I am impressed with Minix.... it does most of what it is supposed to do and with user support in time most of the bugs will fade.... I still remember the massive problems I had with early versions of OS9! Minix shines by comparison.... it's biggest weakness is THAT C compiler! A Coco under OS9 Level 1 compiles faster and with more highly optimised code! I am impatiently awaiting a better (MSC???) compiler!!!! Joe Applegate - Colorado School of Mines Computing Center {seismo, hplabs}!hao!isis!csm9a!japplega or SYSOP @ M.O.M. AI BBS - (303) 273-3989 - 300/1200/2400 8-N-1 24 hrs. *** UNIX is a philosophy, not an operating system *** *** BUT it is a registered trademark of AT&T, so get off my back ***