@database "MAXs shell" @width 80 @index index @node main "MAXs shell door (MAXShell2.2)" @{B}MAXs shell door @{"[MAXShell rewrite]" link maxshell}@{UB} This is a rewritten version of MAXShell, the shell door for MAXs BBS. @{"Using the door" link usage} ---------------------------------------------------------- New features include: · @{"Multiuser support (muFS)" link muFS} · @{"Improved ANSI support" link ANSI} · @{"Door running" link doors} Its also smaller in size than the original. ---------------------------------------------------------- More information @{"Contact me" link cont} @{"History" link hist} @{"Copyright" link copy} @endnode @node maxshell "The original MAXShell" The original MAXShell was written by Matthew Poole, and based on TrShell by Timothy Aston. All the original features of MAXShell are included in this new version (I think). I tried to contact the author prior to this release, but with no success. @endnode @node usage "Command Usage" If you have already used MAXShell, you will already how to use the main options and run scripts etc.. Here is a list of options -c -d -e -f Ignore all CTRL-[C-F] break keys (no break) -g Allow guest login if user account does not exist. e.g. -gguest (default "guest") Don't drop into an interactive shell with this one unless your files are well protected. I added it for running games like MAngband on the BBS. -m Multiuser support on (m0) -m0 ask password (default) -m1 automatic -s Substitute spaces in user data with a character e.g. -s_ replaces with '_' -t Decrease time to allow kick out by CLI doors. e.g. -t3 (3 minutes) [default: 0] Doesn't affect real time remaining. -u Login as a set user (e.g. root) For instance, you could use -uSysop. (full name, not login id) BE CAREFUL!!! So, to use it, you would have, for instance: shell [script] options The scripts you use may contain the usual MAXs auto inserts for options in games etc.. For games, you would usually not use multiuser support unless each user has a save file of their own. Remember to test scripts before giving access.... @endnode @node muFS "Multiuser support" Giving all users a shell on your BBS is pretty dangerous. This door will allow you to give selected users (firstly by access level in MAXs) a shell account. I'd advise that a higher access level be given to the keys which start an interactive shell. Even then, you can individually select who to permit access, by name. To add a user, you must give them a login id, and put their BBS name in the real name section of your passwd file. There are two ways to login after this: 1. With no prompt (users go straight into a shell owned by them) 2. After a 'password:' prompt. For method (1) to work, the BBS and door processes MUST be owned by root already. Don't have the door program as setuid root, as it would be extremely easy to fake MAXs ports (locally) and gain root access. With (2) you have the added security of another password, but really there should be no need (Nevertheless, this is the default). If you don't think your system is secure enough, don't use this feature for interactive shells. @endnode @node ANSI "Improved ANSI" A couple of ANSI codes which MAXs doesn't handle are converted. ESC [ %d ; %d f - Cursor Y,X. As ESC [ %d ; %d H ESC c - Reset Clear, home, normal colour/style. Attributes: ESC [ 8m - Hide display ESC [ 22m - Bold off ESC [ 23m - Italic off ESC [ 24m - Underline off ESC [ 25m - Flash off (unsure) ESC [ 27m - Inverse off ESC [ 28m - Hide off If any standard ANSI codes are missing from MAXs and not included, or if any of them are wrong, please contact me and I'll add them/ correct them as long as they're sensible. Also, compressed CSI ANSI codes will be expanded to normal escape codes by this door. @endnode @node doors "Running doors" Firstly, this door may be run by any doors compiled with my libdoor link library [on Aminet]. It can also run these similar doors. To do this, there is a simple program included (rundoor). All you have to do is specify a full path/filename as the argument. You can run a door from within a text file or stdout program as well, just use ESC A filename ESC A (spaces only for clarity). Don't use this ANSI sequence from the CLI though, as it will run the door twice. (not a bug really) @endnode @node cont "Contact me" For bugs, improvements etc., contact rich@theforest.demon.co.uk @endnode @node hist "History" · 14-Apr-1999 Release V2.2 (aminet) · 13-Apr-1999 Added some more ANSI codes · 11-Apr-1999 Added -g guest login option for users with no Multiuser accounts. · 29-Jan-1999 Added -u (user) option for use with Multiuser shell. · 26-Jan-1999 Public release V2.0 @endnode @node copy "Copyright notice" The original MAXShell is on Aminet, and is by Matthew Poole. It was based on TrShell which is by Timothy Aston. All changes are copyright 1999 R. Smith. This distribution is free as always. @endnode @node index "Index" @endnode