CCGREG@umcvmb.missouri.edu (Greg Johnson) (06/15/91)
This is directed to persons charged with setting up a "public NeXT lab". Disclaimer: My experience with NeXT & Unix is simply what I've learned in the last few months in deploying a lab. Please weigh critically everything I say here! I hope my presumptiousness provokes experienced system administrators to correct and expand these notes!! If there is sufficient modification over the summer, I will try to consolidate the improvements into a new report. There are at least two mandates one might have in configuring a NeXT network. (1) Each person uses mainly one machine, but occasionally may want to use NextStep on another machine to access files on his or her own system. Options for implementing this "personal workstation" network are described in the NeXT _Network_and_System_Administration_ manual. (2) A different configuration is demanded for the "public workstation lab". In this case each workstation is to be made available so that no matter which head you use, you see as much as possible the SAME view as from other workstations. The effect is much the same as for a central system with terminals, but in a workstation net each client bears the bulk of its own processing load. Network traffic is greatly reduced by sharing just those items that a client workstation uses infrequently. For NeXT, this is the "extended" part of the extended OS (documentation, "demo" programs, Shakespeare, and so on) plus local applications and libraries. These "extras" can consume hundreds of megabytes of disk. HARDWARE My recent postings of advice from EPS offer a starting point. His emphasis of buying plenty of RAM is verified by my experience to date. Other recent postings have mentioned sources of ethernet cable and connectors. The NeXT archive sites contain reports on 3rd party disk and RAM. With perfect hindsight I can say we should have traded one of the two laser printers and even a NextStation toward getting a backup tape device and more memory. (I wasn't consulted on this, but might not have known any better.) One should also budget for an external network connection. You'll probably remember tables, chairs, and wiring in your lab budget, but don't forget surge protectors and toner cartridges and paper. A few extra ethernet cables, connectors and terminators, an extra NeXT mouse, and mouse pads will make life easier. Once you hear 15 people taking the NeXT Guided Tour at the same time, you may also want to provide headphones. Manuals, headphones, and other items that might "walk" should be checked out through some help desk or lab assistant procedure. Speaking of things that walk, depending upon your environment you might also consider securing your sleek black machine to its table. Or get NextDobermans to go with you NextLab... If you anticipate hands-on training or instruction with your NeXT lab, then be aware that workstations such as NeXTs tend to overwhelm LCD projection or some large-screen monitors used with PC's or Macs. Perhaps someone might contribute their evaluations of presentation technology that has worked with NeXTs. One option for teaching with NeXTs is provided by the "GreyBoard" application available via FTP from the NeXT archive sites. This allows an instructor to put a draw window on each student's screen, and draw, write, and cut and paste into this. TO NETBOOT OR NOT TO NETBOOT? The advice observed on comp.sys.next which is definitely verified by my tests, is that you don't want to have more than about seven Netboot clients per server if they are 8MB NeXTs. If users are running Mathematica or other memory gluttons, then decrease this ratio. With more memory on each client (go for at least 16M) or if the stations are intended for word-processing or other light applications, you can probably have a larger client/server ratio. At a 7:1 NetBoot client/server ratio, it is more economical to NOT NetBoot. Since NeXT has not offered a diskless NextStation, it makes more sense to use the 105M disk of each NextStation for paging and perhaps essential system files and thereby allow more clients per server. In fact, I am running 20 NextStations (each 8MB RAM, 105 MB disk) with one server (32MB RAM, 661 MB disk), with every client workstation busy running Mathematica or other heavy applications every minute the lab is open. There have been occasional ethernet traffic jams ("ok class, let's all login") but performance has thus far been adequate when all stations are occupied, and excellent at other times. By not netbooting, the clients can also function to some extent if the server or network is unavailable. Currently, a Calculus II course depends on this NeXT lab as a daily classroom using Mathematica. Hence the option to have the clients function without a net is a requirement for us. Consequently, I kept all the files that came with the 105MB NextStations, and added Mathematica.app to these. Others may not regard this standalone option as necessary, and can clean out most files EXCEPT /private, /mach, /etc, /bin, /dev, /usr/shlib, and /usr/lib. It is possible to have a functioning Unix console with no GUI on a NeXT booted from a 2.8M floppy and nothing else! However, my impression is that though one can free a few meg by removing /NextApps, /NextLibrary, /NextDeveloper, and odds and ends of specific files in /usr, frankly, there's not much fat on a 105MB slab that NeXT has not already sacrificed. The reason for trying to free up more disk space on a client workstation is to use that space for exported home directories or for backup, as I will describe. It's EASIER to buy more disk, if you have the money. You still need to netboot to restore a damaged NextStation. NFS MOUNTS Via NFS mounts we have provided each workstation including the server with exactly the same view of the system, with the exception that root directories such as /LocalLibrary can be updated only from the server. Network accounts allows the user to login to any workstation. Our server has two partitions. The root partition is the standard arrangment. The root partition also includes a directory /users which contains a ".dir.tiff" file. "/" is exported read-only to all clients. The clients mount these server root subdirectories over their own: /LocalApps, /LocalLibrary, /bin, and /NeXTLibrary. I do not mount /NextApps, since with just a little copying from server to each slab, the slab /NextApps is the same as the server /NextApps. This doesn't help local or network performance that much; for example, once Mathematica is loaded from the net, it just pages in and out locally; performance is best improved by buying more RAM. When our NeXTs arrived, 16 of the slabs had NeXT 2.1, but a few of the slabs had NeXT 2.0 and the server had NeXT extended 2.0. Mainly because /usr/shlib and the workspace files in /usr/lib differ significantly between 2.0 and 2.1, I couldn't just mount the server /usr over the client /usr. There are also symbolic links in /usr to /private that caused me some troubles. So, although I have since gotten everything up to 2.1, I have not mounted /usr/shlib from the net, which helps performance anyway. The second server disk partition contains user home directories. This user-home-directories partition is mounted as "/users/1" (this is specified in /etc/fstab). The server exports /users/1/ as read-write to all clients. Each client workstation also has a local "/users" directory with a silly .dir.tiff file in it. Each client NFS-mounts the "server:/users/1" directory as its "/users/1" directory. Why not mount /users/1 with one less level, say as "/users" or "/clients"? The arrangement I've described allows us to add external disks or use the disks of clients for user home directories! For example, on workstation number 2, I could define a local directory /users/2/, export this read-write to the network, and mount it as /users/2/ on all the other workstations (including the server). We have chosen not to do this at this time, but it's an option to squeeze the last byte out of the disks we own. There should be value in separating /private & mail-related directories into their own partitions, but I haven't played with this yet. Our /users/1/ partition is further divided into "staff", "student", and "visitor" subdirectories, under which come the actual user home directories. This makes it easier for students to find course directories via the browser, though we further simplified this via links. SECURITY AND NEW ACCOUNTS NeXT Inc offers courses in system administration, in service, and in application development. Go. See the factory. Learn why there is a car in their parking lot that is without license plates. To allow the new private owner of a NeXT freedom to play and configure, the NeXT comes with defaults set to allow that individual wide freedom. Files he or she creates on one account can be accessed from another. This is fine for a workstation you own, but is undesirable in a public lab situation. The NeXT System Admin manual toward the end offers suggestions for protecting system files. Follow them. There are more protections to consider, and when I become more confident in my pronouncements, or get some of that expert advice I have here solicited, I will try to summarize specific security considerations for a public NeXT lab. One thing you must do is set up a model account, and make that the default configuration for creating new accounts. Create a new account, and use Preferences to set the file creation default permissions to allow access to files only by the owner. Put the applications you want the new user to see in the Icon dock. Put important directories on the file viewer shelf! Clean up unneeded files; I left only Mailboxes for my default user so they could get their message from Steve J. Use chmod -R go-wrx ~ to disallow access to the remaining files. Test security via yet another account. When you're done, go to your wheel account and back up /usr/template/user and replace it with the home directory of your model account. You'll probably want to create some user groups to separate students, staff, and administrative users. I suggest that except for the few who will be in the wheel group, that you make new groups and not use "other", "staff" and so on that come with the system. Modify /etc/nu.cf to suit your configuration. My changes to the include: NetInfoDomain = "/" ; "." -> Local domain DefaultGroup=21 ; default user-group number (studenti) DefaultHome = "/Users/1/students" GroupHome= 21 "/Users/1/students" GroupHome= 22 "/Users/1/students" GroupHome= 23 "/Users/1/students" GroupHome= 25 "/Users/1/staff" GroupHome= 26 "/Users/1/staff" GroupHome= 27 "/Users/1/staff" GroupHome= 28 "/Users/1/staff" You will probably find the "nu" command more convenient than UserManager. To load dozens of student ids, I extract data from our registration system, transfer it to the NeXT, massage it to form, and feed it to "nu -a". We use the student's birthdate as their initial password. HELPING THE NEW USER Wanted: a login hook module that will force a first-ever login to change the password. Contributions will be, ahem, gratefully acknowledged. A public lab will probably want to install the MOTD (message of the day) login hook obtainable from Internet NeXT archives like nova.cc.purdue.edu. Not only does this issue system messages, it also makes up for an oversight by NeXT in updating the file that journals user logins. One enhancement to MOTD that I have considered is a button to take the NeXT Tour, via the "system()" function. The first-time user can profit from easy access to such items as local policies ("the user is ultimately responsible for his or her own data", "be good", etc.). A simple way to do this is to put the directory or file icons for such must-read items in the shelf of the template user's FileViewer. Change the default bookshelf used by Librarian to include the files you want; see ~/Library/Bookshelves in your model user or if you deleted this as I did, see /NextLibrary/Bookshelves/Librarian.bkshlf. I went a bit further and made a simple panel ("Accessor") that is launched at a new user's login via WorkSpaceManager preferences. It has oversized buttons which open appropriate bookshelves for Librarian, open individual files for Edit, invoke the NeXT Guided Tour app, open the Tour of Mathematica, select a "Questions&Suggestions" application, and other things I thought will be of particular interest to our new users. Please, my Accessor is wonderful to see but an ugly kludge inside; what would be good is for someone to make a build-your-own-Accessor, a kind of floating dock, into which the builder could drag not just App icons, but file icons and bookshelves. The buttons must offer room for some non-cryptic explanation besides the icon or filename. SYSTEM MAINTENANCE FOR THE PUBLIC NEXT LAB My backup procedure has been simplified since my management neglected to budget a tape drive. Those of you with tapes, what evaluations and suggestions do you have? (We don't even have an external network connection yet. So I am doing backups by utilizing the extra 15MB or so on the slabs for local mods, and lugging in a cube with an optical disk for occasional system backups, and also occasionally cloning the server to an identical cube.) There are several screen dimmers on the public archives; that's because none of them is satisfactory for all situations. NeXT! please provide an option to prevent panel burn-in for BOTH workspace and login modes! Totally blanking EVS & NVRAM screen video would suffice. The option of moving images on the screen would be ok, but at least let us black the screen. You do like black, don't you? In a public lab users cannot be counted on to do the right thing manually. Until I get something better working this is in the /etc/crontab.local file of each workstation: 0 0,1,5,17 * * * root /usr/local/bin/bright 0 The little "bright" program is available from the public archives. It can be enhanced to handle both EVS & NVRAM video. To warn users the lab is closing down at midnight, etc., I do annoying things like: 55 23 * * * root /usr/bin/sndplay /LocalLibrary/Sounds/shutdown.snd 55 23 * * * root /usr/local/bin/bright 20 59 23 * * * root /usr/bin/sndplay /LocalLibrary/Sounds/latelatelateshow.snd For the server, I also run the following shell after the lab closes. There are surely lots of improvements to be made here, but this may offer a start for other dilettantes. # update Unix passwd & group files from NetInfo database: nidump passwd / | awk 'BEGIN {FS=":"; OFS=":"} {$2="";print}' | sort -t: - > /etc/passwd nidump group / > /etc/group # Make list of accounts & names for easy reference: awk 'BEGIN {FS=":"} {printf "%-8s\t%s\n", $1, $5}' /etc/passwd > /LocalLibrary/Misc/Users # Summarize user disk usage: df > /LocalLibrary/Misc/DiskUsage du -s /Users/1/students/* | sort -nr >> /LocalLibrary/Misc/DiskUsage du -s /Users/1/staff/* | sort -nr >> /LocalLibrary/Misc/DiskUsage du -s /Users/1/visitors/* | sort -nr >> /LocalLibrary/Misc/DiskUsage Not all Unix thingies will know about NetInfo, so you should keep a passwd file. Blanking the password hinders brute force crackers. There's a link to /etc/passwd as /LocalLibrary/Images/People/passwd. The disk usage report allows users to identify hogs among themselves. I haven't implemented quotas because (a) I wanted to see what usage profiles develop if I don't, (b) if space is used for reasonable things then perhaps I can persuade the money people to buy more disk, (c) I haven't had time to study how quotas are handled, and (d) it may not even be possible; I vaguely recall that quotas weren't implemented under 1.0. Is anybody doing disk quotas? THAT'S ALL FOR NOW Some of this may be incorrect or best done in other ways. Definitely there is more to be said generally about policies of public workstation labs and Unix security. There are news groups and FTP-able reports that cover such general matters. In future updates to this "public NeXT lab" report, I hope to receive contributions in such If an immediate correction or item for discussion is warranted, please post to comp.sys.next. I will try to summarize what comes to me. On behalf of the students, faculty, and others all over the world who will profit from well-planned NeXT labs, I solicit your advice! Thank you! : Greg Johnson, Senior Scientific Programmer/Analyst -- Computing Services : 233 Heinkel Building, University of Missouri, Columbia, MO 65203 : CCGREG@UMCVMB.MISSOURI.EDU / phone 314-882-2000
davis@usenet.INS.CWRU.Edu (Palmer Davis) (06/15/91)
In article <9106141908.AA25449@cheops.cis.ohio-state.edu> Greg Johnson <CCGREG%UMCVMB.MISSOURI.EDU@OHSTVMA.ACS.OHIO-STATE.EDU> writes: > >SECURITY AND NEW ACCOUNTS > One more thing: make sure you assign hardware passwords. The ROM monitor documentation is buried deep in the bowels of the N&SA manual, so it may not be obvious to a new SA that there's a security risk there. -- Palmer Davis <davis@po.cwru.edu> I'm probably wrong, so don't blame INS. CWRU Information Network Services Life is short. "Delaware has 1.1 million corporations -- I mean chickens." (sct)
windemut@lisboa.ks.uiuc.edu (Andreas Windemuth) (06/15/91)
In article <9106141908.AA25449@cheops.cis.ohio-state.edu> CCGREG@umcvmb.missouri.edu (Greg Johnson) writes: > > The NeXT System Admin manual toward the end offers suggestions for protecting > system files. Follow them. There are more protections to consider, and when > I become more confident in my pronouncements, or get some of that expert > advice I have here solicited, I will try to summarize specific security > considerations for a public NeXT lab. > > One thing you must do is set up a model account, and make that the default > configuration for creating new accounts. Create a new account, and use > Preferences to set the file creation default permissions to allow access to > files only by the owner. Put the applications you want the new user to see > in the Icon dock. Put important directories on the file viewer shelf! > Clean up unneeded files; I left only Mailboxes for my default user so they > could get their message from Steve J. Use chmod -R go-wrx ~ to disallow > access to the remaining files. Test security via yet another account. > I don't think default read protection is a good idea. It leads to trouble with no end when you want to share data with others. No more "just get it from my home directory" if somebody wants some data from you. I have seen more than once huge amounts of time wasted when things didn't work because of some stupid read protection that nobody wanted anyway. Usually the Mailboxes are the only thing really requiring read protection from the beginning. -- Andreas Windemuth +-------------------------------------------------------------------- |Theoretical Biophysics windemut@lisboa.ks.uiuc.edu |University of Illinois Tel: (217)-244-1612 |3121 Beckman Institute Fax: (217)-244-8371 |405 N Mathews, Urbana, IL61801 NeXTmail Ok +--------------------------------------------------------------------
lemson@ux1.cso.uiuc.edu (David Lemson) (06/15/91)
First of all, I manage a lab of 22 NeXT workstations including 3 Color slabs, 3 030 Cubes and the rest 105MB Stations. I really appreciate your notes and have a bit to add. CCGREG@umcvmb.missouri.edu (Greg Johnson) writes: >However, my impression >is that though one can free a few meg by removing /NextApps, /NextLibrary, >/NextDeveloper, and odds and ends of specific files in /usr, frankly, >there's not much fat on a 105MB slab that NeXT has not already sacrificed. Watch out that you have gobs of slab hard drive space available on NeXTStation Color machines. When a user opens up 20 1024x768x256 color GIF's at the same time, the /private/vm/swap file grows to around 50 MB. You can set in the /etc/swaptab guidelines for swapfile size, but the real way to get around the problem is to have more space available. In our lab, we have the luxury of not much serious work going on. Calculus courses taught on Mathematica (and we have a lot of them here) are taught exclusively on Mac II's in a different lab. Basically, our lab is for playing around with the NeXT. We also give free student UNIX accounts on another production machine, so we state in our user applications that users should not use the NeXT's for mail. Our mail has definitely been screwy. Mail mailed to a user at one of the station sometimes gets returned to sender, sometimes gets properly routed to the one NeXT designated (explicitly, in the sendmail.cf file) as mailhost. People setting up NeXT labs for student use should be prepared to stock all kinds of books about the DSP chips, for example. Our NeXT tech liasion has a set of these books, but we do not. I have had several requests for these references from Engineering students who want to use the DSP chip for various research. People say, "What are those NeXT's good for?" Some people answer "DSP." A large problem we have had is the server /Users drive getting full due to .snd and .gif/.tiff files. Sound files are huge, and people are bound to ftp them. (We have an external network connection, obviously). To tell the truth, I think that you might be happier without an external Internet connection if you've gotten along without it so far. Of course, it is nice to be able to do most all sys admin from home via dialup, of course. -- David Lemson University of Illinois Computing Services Consultant Internet : lemson@uiuc.edu UUCP :...!uiucuxc!uiucux1!lemson
eps@toaster.SFSU.EDU (Eric P. Scott) (06/15/91)
In article <9106141908.AA25449@cheops.cis.ohio-state.edu> Greg Johnson <CCGREG%UMCVMB.MISSOURI.EDU@OHSTVMA.ACS.OHIO-STATE.EDU> writes: > In fact, I am >running 20 NextStations (each 8MB RAM, 105 MB disk) Ugh! > There have been >occasional ethernet traffic jams Double ugh! Our NeXTs have to share their Ethernets with other (non-NeXT) people trying to do Real Work. If we put 8MB NetBoot clients on the wire the vigilantes would skin us alive... (By the same argument all my School's buildings are designated smoke- free; suicidal activity is merely discouraged, but homicidal activity is punishable.) >Our /users/1/ partition is further divided into "staff", "student", and >"visitor" subdirectories, under which come the actual user home directories. Here's where you've drifted away from technical considerations into political/religious ones. We find that segregating users (dare I say "apartheid") merely fuels antagonism and hostility. Hence, our NeXTs are set up to treat users as human beings! "Real Names" don't have titles associated with them, either. >To allow the new private owner of a NeXT freedom to play and configure, the >NeXT comes with defaults set to allow that individual wide freedom. Files >he or she creates on one account can be accessed from another. This is fine >for a workstation you own, but is undesirable in a public lab situation. We strongly disagree, except for e-mail and certain coursework. We instruct users to keep "confidential" material in protected subdirectories. In introductory courses, plagiarism is a consideration. In advanced courses, facilitating cooperation, team work, and information sharing is essential. >Preferences to set the file creation default permissions to allow access to >files only by the owner. We find this unacceptable. We create all home directories protected 755, and insist that permissions never be lower than 711. Otherwise many things (calendar, finger, inews, etc.) break. >You'll probably want to create some user groups to separate students, staff, >and administrative users. We call this approach "unclear on the concept." The purpose of groups is to provide users with ADDITIONAL access. Users who need access to licensed source code are added to an appropriate group. Students taking classes receive a group "cookie" for each class they're registered in. (There is another factor here too--it's hard to distinguish between students and staff when a lot of the system maintenance is done by students and the staff members are getting fee waivers to register for classes...) > We use >the student's birthdate as their initial password. We don't, it's too easy to obtain. >My backup procedure has been simplified since my management neglected to >budget a tape drive. Those of you with tapes, what evaluations and >suggestions do you have? We use Exabyte (8200). It's good enough for our needs. >(We don't even have an external network connection yet. When you do, I sincerely hope it's routed and not bridged. >Not all Unix thingies will know about NetInfo, so you should keep a passwd >file. We consider those "broken"--those thingies won't work with YP/NIS either. >vaguely recall that quotas weren't implemented under 1.0. Is anybody doing >disk quotas? Quotas are evil; they discourage users from learning how their greed impacts others. We're not here to parent users, we just provide a model electronic ecosystem. If they deplete their resources, they become extinct. A very simple concept... -=EPS=-
mmajka@next.com (Marc Majka) (06/20/91)
EPS writes: > Quotas are evil; [...] True, but a System Administrator is sometimes caught in the crossfire. Quotas may be a "necessary" evil. This thread reminded me that I wrote a disk space and printer page quota package which might be useful to those who need to be evil :-) I just cleaned it up a bit and put it up on cs.orst.edu, in pub/next/submissions/Quotas.tar.Z, and on cs.ubc.ca, in next/ubc/Quotas.tar.Z on cs.ubc.ca. I could not connect with purdue, so I'll try puting it over there later. *Disclaimer* This stuff was written when I worked for the University of British Columbia, and it did what it needed to do. It is not a product of, nor supported by NeXT. Feel free to cut it up, use any parts you want, and pass it around. Nutshell description: Users have new NetInfo Properties (pageusage, pagequota, diskquota). Page quotas do NOT work on NeXT printers. /usr/lib/transcript/psif updates NetInfo. A "du" based disk usage checker gets run by cron at 4am. Users over disk quota, or low on space get mailed a message. Chronic over-quota users get a * in their password after a while. A "Quotas" App allows users to inspect their own usage and quotas, and permits managers to change them. I forget if I put it in the package, but I ran a program that did "du -s ~ > ~/.diskusage" from LogoutHook. The Quotas App uses that value if it exists (and is faster!). As an added bonus, you get an App called PrinterQueue, which watches a printer queue. It is much like PrintManager's "Queue", but it lists jobs they you own in bold and doesn't permit reconfiguration of the printer. If you are interested, grab a copy and *read* the README.wn file. Installation requires some knowledge. --- Marc Majka, Speaking for Himself