home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 January / usenetsourcesnewsgroupsinfomagicjanuary1994.iso / sources / unix / volume13 / sbbs / part01 next >
Encoding:
Internet Message Format  |  1988-01-30  |  31.9 KB

  1. Subject:  v13i071:  A BBS written in /bin/sh, Part01/02
  2. Newsgroups: comp.sources.unix
  3. Sender: sources
  4. Approved: rsalz@uunet.UU.NET
  5.  
  6. Submitted-by: Rob DeMarco <ncoast!robertd>
  7. Posting-number: Volume 13, Issue 71
  8. Archive-name: sbbs/part01
  9.  
  10.     This is SBBS - For Sigma Bulletin Board System.
  11.  
  12.     This is a 90% shell script BBS with only two files writen in C. You may
  13. have to modify these programs for your system. The shell scripts should work on
  14. ANY UNIX system that suports standard /bin and /usr/bin directories,
  15. redirection, the four quoting mechanisms, variable substitution with '{}'s.
  16.  
  17.     In short, it should work on any semi-modern Bourne Shell.
  18.  
  19.     Contact me if you have any trouble.
  20.  
  21.         [> Rd
  22. PS: It does NOT require a Makefile, so don't worry.
  23.  
  24.  
  25.  
  26.  
  27.  
  28. #!/bin/sh
  29. # shar:    Shell Archiver
  30. #    Run the following text with /bin/sh to create:
  31. #    README
  32. #    admin.doc
  33. #    config.tbl
  34. #    setup.doc
  35. sed 's/^X//' << 'SHAR_EOF' > README
  36. X
  37. XSBBS Copyright(C) 1987 Rob DeMarco
  38. XAll rights reserved. 
  39. X
  40. XSBBS may be modified only at your site.
  41. XIt may be redistributed but NOT
  42. Xmodified in any way and all files must
  43. Xstay intact.
  44. XIt may not be sold.
  45. X
  46. X    The following files are programs that SBBS use or documentations. Move
  47. Xall the programs to a specific place and move the documentations were best
  48. Xput. Read setup.doc before installing SBBS.
  49. X
  50. X    This archive(s) contain four documentations (including this one),
  51. X    two C programs - initial.c and lock.c(*).
  52. X    ~28 shell script files writen in Bourne Shell.
  53. X
  54. X----
  55. X* initial.c is a fake "shell" that is called up when a person logs in as a
  56. XSBBS user or su's to it. It contains a simple function; execl(). This runs
  57. Xa shell script login-sig as the LOWEST level shell. If your system doesn't
  58. Xsuport execl(), look for a simular function.
  59. X
  60. Xlock.c shouldn't give you much trouble. It works on a system III and can
  61. Xbe easily modified to work on any system.
  62. X
  63. XDo neccessary changes to these files BEFORE you run "install".
  64. X
  65. X
  66. SHAR_EOF
  67. sed 's/^X//' << 'SHAR_EOF' > admin.doc
  68. X
  69. XSBBS ADMINISTRATION HELP
  70. X---- -------------- ----
  71. X
  72. XAfter you have read the instructions on how to set up SBBS, you must get
  73. Xyour self familiarized with all the SBBS files.
  74. X
  75. XI have assumed that you ran 'install' and your SYSOP account was set up.
  76. XA 'SYSOP' account is a special user that has many privileges. Among them are
  77. Xuser-management systems, Message Bases, and U/DL bases. There are more; these
  78. Xwill be explained.
  79. X
  80. X
  81. XI.   Familiarization of SBBS
  82. X
  83. X   Your account was created when you ran the program install. Install makes
  84. Xthe necessary preparations to allow SBBS to run. If you are not the head
  85. XSYSOP and didn't run install you may skip this whole section on SBBS
  86. Xfamiliarization as it does not concern you.
  87. X
  88. X   Your ID and password was stored in a file called ~/admin/profile/logins.
  89. XOther information on you is stored in ~/admin/profiles/members. Check these
  90. Xfiles out and see how they are stored. (In the examples, we will assumed you
  91. Xcalled ONCE before.)
  92. X
  93. X    $ cd $home/admin/profile            < $home equals SBBSs home directory.
  94. X    $ ls
  95. X    cmdlog      < User command log
  96. X    lastcaller  < The last caller
  97. X    log         < Log of users and their times of login and logout
  98. X    logins      < User IDs and passwords
  99. X    members     < More information on users
  100. X    newusers    < New Users who have called.
  101. X    $ cat lastcaller
  102. X    JOHN JONES
  103. X    $ cat cmdlog
  104. X    1:?:M:U:E     < Commands Sysop entered.
  105. X    $ cat log
  106. X    1 11:33:22 Tue Jun 20 1987 EST 11:50:22 Tue Jun 20 1987 EST
  107. X    $ cat newusers  < Normally when new users call their name and other
  108. X                      information is stored here. The one who ran install
  109. X                      does not have his name there because he is assumed to be
  110. X                      the sysop. (And, if you remember, he/she has a level=3)
  111. X    $ cat logins < encrypted password.
  112. X    1 XzUymakPPPqx
  113. X    $ cat members
  114. X    1:3:JOHN JONES:123 ANYWHERE ST.:TOWNSVILLE:NEW JERSEY:46642:781-620-1235
  115. X
  116. X    ^ ^      ^        ^                 ^           ^        ^         ^
  117. X   ID Access Name   Street            City      State     Zip    Phone Number
  118. X
  119. X    Now let's explore the files in the "mail" and "new" directories.
  120. X
  121. X    $ cd $home/mail
  122. X    $ ls
  123. X    1
  124. X    $ cd 1
  125. X    $ ls
  126. X    1
  127. X    2
  128. X
  129. X    The directory "1" in the "mail" directory is where all of user 1's
  130. Xmail is. Since it is private, we woun't look at the mail. (Files "1" and "2")
  131. X
  132. X    $ cd $home/new
  133. X    $ ls
  134. X    1
  135. X    $ cat 1
  136. X    1:4
  137. X
  138. X    This is a file that contains information on the last message he
  139. Xread from the Message Bases (More on this later). In Message Base "1", he
  140. Xread all the way up to message #4. This, for your information, is the "General"
  141. XMessage Base.
  142. X
  143. X    Now let's look at the "bulletins" and "udl" directories.
  144. X
  145. X    $ cd $home/bulletins
  146. X    $ ls
  147. X    1  < This is a bulletin from the sysop (User #1) welcoming everyone to
  148. X         his new system.
  149. X    $ cat 1
  150. X     < Bulletin >
  151. X    $ 
  152. X
  153. X    The bulletin will be displayed to any one logging in to his system one
  154. Xtime only. They may reread the bulletins by a special command.
  155. X
  156. X    $ cd $home/udl
  157. X    $ ls
  158. X    new
  159. X    $
  160. X
  161. X    This directory stores all the files the users upload. He has created no
  162. X"Topics". Topics are specific areas where users store files. These files
  163. Xpertain to the "Topic". The directories are stored as numbers. The actual
  164. Xtopic-names are stored in files. The "new" directory is automatically
  165. Xcreated when the SysOp ran "install". It stores "new" uploads that are awaiting
  166. Xapproval be the SysOp or CoSysOps.
  167. X
  168. X    Now we explore the final directory.
  169. X
  170. X    $ cd $home/misc
  171. X    $ ls
  172. X    bbsrc
  173. X    closing
  174. X    com
  175. X    config
  176. X    ecom
  177. X    main_menu
  178. X    newnews
  179. X    openmes
  180. X    prlib
  181. X    protocols.down
  182. X    protocols.up
  183. X    udlrc
  184. X    usr
  185. X    $ cat bbsrc < List Message Bases.
  186. X    1:General
  187. X    $ cat udlrc < Remember he hasn't set up any UDL DataBases. This contains
  188. X                  the available Topics.
  189. X    $ cat usr   < IDs, names, and ttys of who is CURRENTLY using SBBS.
  190. X    $ cat openmes
  191. X    [[[ Welcome to Cleveland Electronic City
  192. X    [[[ Serving its users since 1981 providing the best community service.
  193. X    [[[   Try out our new feature - "mayor". Where you may write to the 
  194. X    [[[ may about whats on your mind.
  195. X
  196. X    This is the file that will ALWAYS be displayed when one logs on your SBBS
  197. Xsystem.
  198. X
  199. X    $ cat closing
  200. X
  201. X    Thank you for calling. Call these other boards:
  202. X
  203. X    CitCom: 216-222-3333
  204. X    Ataraforce: 216-444-5555
  205. X    IBbsM: 216-666-7777
  206. X
  207. X    This message is displayed ALWAYS when one exits SBBS.
  208. X
  209. X    $ cat newnews
  210. X    1:1
  211. X
  212. X    This file containes information on what the last bulletin read was.
  213. X    Remember the "bulletins" directory?
  214. X
  215. X    $ cat prlib
  216. X    1: Access DataBase XI:/u/local/dbxi
  217. X    2: List or add city services:/u/local/cleserv
  218. X    3: List or add 216 numbers.:/u/local/216list
  219. X    
  220. X    This is the program library. This is available online to SBBS users. The
  221. Xfirst field (Of 3 seperated by colons) is the option number that the user
  222. Xtypes to access it. Field 2 is the formal name the user sees. Field three
  223. Xis the actual program to run. This may contain variables , quotes and ';'
  224. Xseperaters if you wish. But a special "variable" must be set to do this;
  225. Xotherwise it will take the whole third field as the program to run -- without
  226. Xevaluating the metacharacters.
  227. X
  228. X    $ cat com ecom main_menu <menus
  229. X    <com menu  (bbs)>
  230. X    <ecom menu (editor)>
  231. X    <main_menu menu. (main menu)>
  232. X    $ cat protocols.up
  233. X    1:Ascii:echo Start Transmitting. Send a CTRL-D when finished. ; cat >>
  234. X    The first field is the udl protocol option. It is one of the options listed
  235. Xwhen someone uploads a file. It was automatically set up when "install"
  236. Xwas run. The second field is the formal name the protocol. The third is the
  237. Xactual program to run. That special variable isn't needed here because all
  238. Xmetacharacters will automatically be evaluated. So be careful to quote
  239. Xany metacharacter that is to be taken literally like *,",;,etc.
  240. X
  241. X    Please understand it. You must enter the protocols yourself. (except Ascii)
  242. X
  243. X    Examples:
  244. X
  245. X    2:Xmodem:/u/local/umodem -rt
  246. X    3:Kermit:/u/local/kermie -rb
  247. X
  248. X    Don't worry about file names. This is done for you because the file
  249. Xnames will differ as people upload more and more of them.
  250. X
  251. X    $ cat protocols.down
  252. X    1:Ascii:Prepare for transmission in 10 seconds. ; cat
  253. X    The same applies for this file except its used when downloading.
  254. X
  255. X    Examples:
  256. X
  257. X    2:Xmodem:/u/local/umodem -st
  258. X    3:Kermit:/u/local/kermie -sb
  259. X
  260. X    $ cat config
  261. X    $
  262. X
  263. X    Where all system variables (including the one to evaluate the
  264. Xthird field or "prlib") are stored.
  265. X
  266. X    The format is "variable=value" or simply "variable=" for some of them.
  267. X
  268. X    Consult config.tbl in your documentation package for more details.
  269. X
  270. X    Now it's time to learn how to use SBBS it self.
  271. X
  272. XII.   SBBS - THE BBS
  273. X
  274. X    There are two ways to tackle this difficult task of explaining SBBS.
  275. XI could explain the whole SBBS system , including the general commands that
  276. Xare available to all the users OR I could explain only the commands
  277. Xavailable to high-level users.
  278. X
  279. X    But do to the accident that caused my administration documentation to be
  280. Xcompletely erased, I have no time to be complete. I will try my best to be able
  281. Xto explain how to run SBBS. But you will have to wait until SBBS is released
  282. Xto the public before a better documentation is written up.
  283. X
  284. X    Log on to SBBS
  285. X
  286. X    It will display the copyright message and prompt you for your ID.
  287. XYou may exit here by typing OFF. If you are new to SBBS you would type NEW. It
  288. Xwill ask you questions and create an account for you. An account is your own
  289. XID which makes you a member of SBBS. After your ID is created, you may then
  290. Xlog in SBBS with your newly created ID. If you enter your ID, it will ask for
  291. Xa password. You told SBBS this when you requested to be a new user or when (if
  292. Xyou are the SBBS administrator) you ran install. Type the password. It will not
  293. Xbe echoed back to you. This is to protect your password. If your password
  294. Xattempt fails then it will reject you. If you enter incorrect information
  295. Xthree times in a row you will be knocked off. If you are accepted, you will be
  296. Xput in SBBS. You will be told the last caller if there is one. You are then
  297. Xput in the "SBBS main" prompt. The two important commands to remember are
  298. X'A' and '?'. A command is a letter you type from SBBS main to do something.
  299. XA '?' will tell SBBS to display a summary of commands. 'A' is a special
  300. Xcommand and can ONLY be used by level-3 users. It's the Administrative Shell.
  301. X
  302. X    Levels of users
  303. X
  304. X    There are four "levels". These levels tell what privileges a user may
  305. Xhave. The user who ran install automaticly has a level of 3. Anyone
  306. Xwho used NEW from the SBBS login automaticly has an access of 0. Here is
  307. Xa list of the four levels and what they can do.
  308. X
  309. X    Level-3: These users (usually only 1) may access EVERYTHING on SBBS.
  310. X    Level-2: These users may access everything including the Administration
  311. X             commands except 'A'. This is the shell.
  312. X    Level-1: "Normal" access. This access level has access to all the
  313. X             commands save the Administration commands.
  314. X    Level-0: Limited access. Usually new users.
  315. X
  316. X    More on the login routine
  317. X
  318. X    If you are a Level-3 user, please read this section. Otherwise you may
  319. Xskip it or read it for background. But only Level-3 users may perform the
  320. Xfollowing things.
  321. X
  322. X    From SBBS main, type A. You will get a shell. I assume that you are in the
  323. XSBBS home directory. If not, change to it.
  324. X
  325. X    $ cd misc
  326. X
  327. X    There are a few things we will deal with "config". The file called config
  328. Xwill allow you to configure your SBBS system to your specifications. These
  329. Xconfiguration commands are called C variables. (No relation to that hidious
  330. Xprogramming language called "C" :-[ ) These C variables are stored in the
  331. Xconfig file; in this format:
  332. X         variable=value
  333. X              or simply
  334. X         variable=
  335. X    To learn what all the C variables are and what they do, consult the
  336. Xdocumentation config.tbl. This is a full explanation of all the variables and
  337. Xwhat they do. We will explain a few of them now.
  338. X
  339. X    First there are two C variables we will learn. Cycle and newuser. As you
  340. Xrecall, if your login attempt fails a certain amount of times, you will be
  341. Xkicked off. You can control the amount of times it takes by the cycle C
  342. Xvariable. The format is cycle=times.
  343. X
  344. X    Example:
  345. X
  346. X    cycle=5    - This allows five mess-ups before it disconnects a user.
  347. X
  348. X    The next C variable is newuser. The purpose of this one is to print a file
  349. Xwhen a person requests to be a new user. This is usually used to print the
  350. Xrules or instructions on how to use the system. The form is newuser=file. The
  351. Xfile should be an absolute path to avoid errors. Never fully assume a certain
  352. Xsituation is true. Always think of all possibilities.
  353. X
  354. X    There is also another C variable. Form is "elite=". No value is
  355. Xnecessary. This instructs SBBS not to accept new users. It will also fail to
  356. Xnotify users that there is such an option as NEW.
  357. X
  358. X    A few more C variables.
  359. X
  360. X    name=Erie Coast Boating and Sailing Club
  361. X    version=1.0.0
  362. X    shell=/bin/csh
  363. X
  364. X    These are almost self explanitory.  Name and version will print there
  365. Xrespected values from time to time. Including the Login routine. The shell
  366. XC variable is the shell to run when the 'A' command is used. Otherwise, as you
  367. Xknow, the default shell is /bin/sh.
  368. X
  369. X    Becoming new to helping the new
  370. X
  371. X    Since you are a level-2 or a level-3 user, you may validate other new
  372. Xusers. This is done be raising them from level-0 to level-1. There are special
  373. Xcommands to work with new users and existing users.
  374. X
  375. X    Getting a User Log
  376. X
  377. X    A User Log is a list of who called and when. It also tells when they left.
  378. XAs you have recalled if you read the section on files, this is the file
  379. X~/admin/profile/log. SBBS will keep track up to 20 log entries before it
  380. Xonly prints the last 20 callers only. You may change this number by the use
  381. Xof the C variable "log". Just suply how many entries to keep after the equal
  382. Xsign and SBBS will do it. The command is 'U'.It may be used by all level users.
  383. X
  384. X    Listing users
  385. X
  386. X    From time to time you may wish to list certain users. Type 'L' and you
  387. Xare now in the list mode. Again, this option may be used by all, but only
  388. Xlevel-2 or level-3 users may see the information such as the street address.
  389. XThe other Level-0 and level-1 users only see limited information such as ID,
  390. Xname, and access. Just type the ID of the user to view and his information
  391. Xis shown. Type -1 as an ID to escape to the main menu.
  392. X
  393. X    The neucleous of user management
  394. X
  395. X    This is the 'V' command; available only to level-2 and level-3 users. In
  396. Xhere you have six commands. Since you are at a command prompt, you may type
  397. X'?' if you need help.
  398. X
  399. X    The first is 'L'. This command lists all the new users. This so you know
  400. Xwho is new and you may do something to them. (Usually raise their access to 1)
  401. X
  402. X    The next is 'A'. This command allows you to change the access level of any
  403. Xuser -- not just new ones. Simply type the ID of the user and his new access.
  404. X
  405. X    Another is 'C'. This one will clear new users from the new user file in
  406. Xorder to avoid confusion. This will only clear people on the new user file.
  407. XJust type the ID to clear. Note that this is different from 'R', which
  408. Xdeletes a user from the SBBS logins and members files and thus deletes or
  409. XRemoves a user from SBBS. 'C' merely deletes the line from the new user file.
  410. X
  411. X    The final user management command, 'R', removes a user completely from
  412. XSBBS. Type the ID of the user and it will display there name and ask for
  413. Xconfirmation. Be careful with this command.
  414. X
  415. X    One of two other commands in the 'V' command/function is 'V'. (Coincidental
  416. X, nothing more) It allows you to "view" the command log. The log that tells
  417. Xwhat each user did. It shows the ID, colon, the-next-commands-seperated by
  418. Xcolons.
  419. X
  420. X    Example:
  421. X    1:M:L:U:I:E
  422. X
  423. X    NOTE: This only keeps track of commands entered in SBBS main. Not the
  424. Xcommands entered in Validation Mode or any other mode or sub-menu.
  425. X
  426. X    'D' for delete/refresh will clear the command log because SBBS does not
  427. Xdo this for you. Therefor, you don't need a C variable.
  428. X
  429. X    Some other miscellaneous things
  430. X
  431. X    The following is a discussion on some other miscellaneous things.
  432. X
  433. X    Many times when a person logs on a BBS, they get a welcome message. SBBS
  434. Xdoes the same thing. It shows a file that is shown every time a person logs
  435. Xin. You may not see it but that's because the file is blank. To show the
  436. Xfile and add your message, edit ~/misc/openmes. This file is sort of like
  437. XUNIX's motd file. Once you're finished, any people that logs in will see this
  438. Xmessage.
  439. X
  440. X    On the other side of the scale, many times you want "Good bye" message. This
  441. Xis easy to accomplish too. Just edit ~/misc/closing. Add what you want and
  442. Xthat will be shown next time you log off.
  443. X
  444. X    Sometimes you want to show information on your BBS to other users.
  445. XThis can be done by the 'I' command. It will display information if there is
  446. Xany. If there is not and you would like to add it. Edit ~/misc/info. Add the
  447. Xinformation. Of course you must have level-3 access to do this as editing
  448. Xany file requires the 'A' command. The same applies for the former two files.
  449. X
  450. X    As was discussed before, there may be times you wish to post "updates"
  451. Xabout events surrounding your BBS system or services. As I told you, the
  452. Xbulletins are only displayed once. But they can be reread by another command.
  453. XType 'B' from SBBS main and enter the subject of the update. There is a
  454. Xdefault provided for you. You don't have to use this default. Then you compose
  455. Xthe message using the SBBS editor. And you're done.
  456. X
  457. X    You may reshow any bulletins by the 'O' command from SBBS main. In fact,
  458. Xany user can. Just answer Y or N when it asks you if you wish to read a certain
  459. Xbulletin. When it scans through all of them, it will exit.
  460. X
  461. X    Message Bases--a way to communicate
  462. X
  463. X    There is a way to have all users talk to each other through one common
  464. Xarea; called the Message Bases. It's the 'M' command from SBBS main. The
  465. XMessage Bases are divided into specific topics - called (strangely enough)
  466. Xa "message base". Each message base has a name and a number associated with it.
  467. XThe name is what the messages posted in this area concern. The number is how
  468. Xyou identify the base. You would not be required to enter the whole topic
  469. Xwhich may be more then one word.
  470. X
  471. X    Posting, Killing, and Editing.
  472. X
  473. X    After entering the message base, you will be put in the "General" base.
  474. X(#1) You can post or read messages in this area. To post a message, type 'P'
  475. Xfrom Message Main (The "General)" prompt.) prompt. Enter the subject of
  476. Xyour message. The subject is more specific about what your message is
  477. Xabout. It should pertain to the topic. Which is General. So it could be any-
  478. Xthing. For someone to read it (including you) you type either 'I', 'F', 'R', or
  479. X'N'. 'G' reads messages from all message bases. If you don't know what these
  480. Xcommands stand for, type '?' at Message Main.
  481. X
  482. X    You may wish to kill a message you made. Any user may do this. Simply
  483. Xtype 'K' and enter the message number. (not the subject. The number can be
  484. Xseen when reading your message.) Unless you are a level-2 or level-3 user,
  485. Xyou may not kill messages you did not post. Level-2 and level-3 may delete
  486. Xany message.
  487. X
  488. X    Editing a message
  489. X
  490. X    You may have made a mistake you will regret. Don't fret. Just use option
  491. X'O' (For "open message to edit." Not 'E'. don't get thrown off.) and type
  492. Xthe message you were going to edit. If you are not a level-2 or level-3 user,
  493. Xyou may only edit YOUR message. Level-2 and level-3 users may edit any message.
  494. X
  495. X    Creating a message base
  496. X
  497. X    If you just installed SBBS, chances are that there is only the General
  498. Xmessage base. To list all of the message bases, type 'L' from Message Main.
  499. XIf you wish to create more, type 'C'. Then enter the topic for the message
  500. Xbase. It then asks for you to confirm your topic and creates it. This is ONLY
  501. Xavailable to the level-2 and level-3 users.
  502. X
  503. X    The MBM
  504. X
  505. X    MBM stands for Message Base Manager. An MBM assumes privileges for level
  506. X2-3 users. But his power is limited to a particular message base only. And he
  507. Xstill may not use the 'C' option. Further more, an MBM only exists in
  508. Xmessage bases. Not any other place. He may be an MBM of more then one message
  509. Xbase but these must be specificly told to SBBS. There may be only one MBM. The
  510. Xfollowing are available to level-2/3 users and the MBM. This controls what
  511. Xrestrictions on a message base may be imposed and what the MBM is. This
  512. Xoption is 'Z'. It's a sub-menu with the options inside. Only level-2 , level-3,
  513. Xand MBMs may use it. And they can use ALL of the features COMPLETELY. (NOTE:
  514. XMBMs can use the E and K commands from Message Main just like a level-2 or
  515. Xlevel-3 user.)
  516. X
  517. X    The 'Z' command in Message Main
  518. X
  519. X    When you type this command, some information about the current message
  520. Xbase is displayed. You may get this information back by the 'I' command. If
  521. Xyou need help type '?' , as always. To exit type 'E'.
  522. X
  523. X    Changing or assigning the MBM
  524. X
  525. X    The 'B' command from this sub-menu allows it. Even an MBM may use this to
  526. Xswitch over control to another user. Type the ID of the user who you want to
  527. Xbe MBM.
  528. X
  529. X    Restrictions
  530. X
  531. X    The 'C' command allows you to change restrictions. It shows three different
  532. Xrestrictions: access, restricted list, none. To lift any restrictions, type
  533. X'N'. To restrict users by access, type 'A'. Then type a list of accesses that
  534. XMAY use that message base. INCLUDE YOURS OR YOU WILL NEVER GET BACK IN! You
  535. Xmay also make a restricted list--the 'R' option. Type the users ALLOWED in. 
  536. XAgain, INCLUDE YOUR ID NUMBER! OR YOU WILL NEVER GET BACK IN! If you make a
  537. Xmistake, don't worry. As long as you don't exit the message base, you can
  538. Xcorrect it. If you wish to add or delete restrictions, you have to retype them.
  539. XFor accesses this isn't to bad. But for a restricted list it may be tedious.
  540. XYou must type ALL IDs of the users to let in.
  541. X    The Program Library and UDL
  542. X
  543. X    Choose option 'P' from SBBS main. What you get is list of programs
  544. Xavailable. Type the number of the program and it will run it for you. Two
  545. Xspecial "commands" are also available: '$', and '#'. '$' will exit to the
  546. Xmain menu. '#' will relist the programs.
  547. X
  548. X    Of course, you will want to add your special programs. You may do this
  549. Xonly if you are a level-3 user. Go get the Administrative shell. Then go to
  550. Xthe misc directory and edit prlib. Each line should be three fields seperated
  551. Xby colons. The first field is a unique number that identifies that program. It
  552. Xmust be a number and it is a good idea for them to be in order! :-) The second
  553. Xfield is the formal name. This is the name the user sees when he lists the
  554. Xprograms available. The third field is the actual program to run.
  555. X
  556. X    If you wish to use arguments, environment variables , quotes,
  557. Xredirection characters or ';'s then you must set up a C variable called "eval"
  558. Xso that it may EVALuate the line. Using all of the things including file
  559. Xsubstitution. It doesn't require a value but be sure to have the equal sign.
  560. X
  561. X    Examples:
  562. X
  563. X    1:DCoM II:/u/local/decom
  564. X    2:Extrox Editor:/u/local/extrox
  565. X
  566. X    (allowed with C variable eval set)
  567. X
  568. X    1:Telex System:/u/local/telex -r
  569. X    2:Rod Trox:/u/local/dep -r ; ls|wc
  570. X
  571. X
  572. X    The File Facilities
  573. X
  574. X    There is a feature that allows people to store and retrieve text and/or
  575. Xprogram files. This is done by the DataBases. It's the 'D' command.
  576. X
  577. X    From the UDL main prompt you can enter a DataBase, exit(E), list(L) the
  578. XDataBases again, (It lists automaticly the DataBases available. When you
  579. Xfirst install SBBS, there will be none.) create a DataBase,(Only with if you're
  580. Xlevel-2 or level-3.) or approve new uploads. (Level-2/level-3 only.
  581. XExplained later.)
  582. X
  583. X    To enter a DataBase, enter its number. You will be put in that DataBase
  584. Xand be at the new FILE prompt.
  585. X
  586. X    Chances are that if you just installed SBBS you woun't have any Data-
  587. XBases. You may create them. A DataBase is an area with a specific topic that
  588. Xdescribes files in that area. To create a DataBase, type 'C'. Then describe
  589. Xwhat that DataBase is intended for. It will be stored and given a number. You
  590. Xmay now enter the DataBase.
  591. X
  592. X    At the FILE mode, you can do things like upload, download and list files.
  593. XAgain, if you need help, type '?'.
  594. X
  595. X    Uploading files
  596. X
  597. X    If you upload a file, it must be approved by a level-2 or level-3 user.
  598. XIf you are one, you must approve it your self. To upload, answer all questions
  599. Xand choose a protocol. A protocol tells how both of your computers communicate.
  600. XThere is already one -- ascii. This simply shows the file and your computer
  601. Xis responsible for "capturing" it. You may add more protocols if you are a
  602. Xlevel-3 user. Choose 'A' from SBBS main and go to the misc directory. Edit
  603. Xprotocols.up. (Note: Download protocols take there own seperate file. Every
  604. Xthing you learned about setting upload protocols may be applied to download
  605. Xprotocols. Remember that download protocols are used when downloading a
  606. Xfile. It takes its protocol from protocols.down)
  607. XAgain, it has three fields seperated by a comma. And again the first field is
  608. Xthe number the user chooses to use that protocol. Again the second field is
  609. Xthe name the user sees. The third field is the program that runs the protocol.
  610. XOne is there already. Its the ascii one. Please note that C variable eval need
  611. Xnot be set to evaluate metacharacters as it will automaticly evaluate the line.
  612. X
  613. X    Examples:
  614. X
  615. X    1:Ascii:echo Transmit. Enter A CTRL-D when finished. ; cat >>
  616. X    (That line already in file)
  617. X    2:Xmodem:/u/local/umodem -rt
  618. X    3:Kermit:/u/local/kermie -rt
  619. X
  620. X    Remember to also edit protocols.down for adding the simmular protocols.
  621. X
  622. X    1:Ascii:echo Prepare to receive. ; cat
  623. X    (already in there)
  624. X    2:Xmodem:/u/local/umodem -st
  625. X    3:Kermit:/u/local/kermie -st
  626. X
  627. X    See the little but important differences between the two files?
  628. X
  629. X    Approving files
  630. X
  631. X    Finally, a file uploaded must be approved. Choose 'N' from UDL main. If
  632. Xthey're no uploads it will send you back with a "No uploads." message. Other-
  633. Xwise it will cycle through all the uploaded files. Remember where they're
  634. Xstored? The udl/new directory. It will print information on the file (like
  635. Xwho uploaded it and what DataBase) and ask you what to do with it. Make a
  636. Xdecision and go on. Once you're through, it will do what you told it to and
  637. Xexit. The commands are:
  638. X
  639. X    a - Abort. Go back to UDL main and leave all files in tact..
  640. X    v - View first and last ten lines of a file.
  641. X    d - Delete that file and don't move it to a DataBase.
  642. X    m - Move the file to that DataBase -- approve it.
  643. X
  644. X
  645. X    This concludes are administration documentation. Direct questions to
  646. Xrobertd@ncoast.UUCP
  647. X...uunet!amdahl!sun!mandrill!ncoast!robertd
  648. SHAR_EOF
  649. sed 's/^X//' << 'SHAR_EOF' > config.tbl
  650. X    The following is a list of valid
  651. Xvariables for config. NOTE: All
  652. Xvariables are in the form "variable=v".
  653. XThere are NO spaces between the "="
  654. Xsign. Even if there is no value needed
  655. Xto suply to the variable, there must
  656. Xbe an "=" sign after the variable.
  657. X
  658. X    Example:
  659. X
  660. X      cycle=4
  661. X      elite=
  662. X
  663. X    Not:
  664. X
  665. X      cycle = 4
  666. X      elite
  667. X
  668. X    Default numeric values will appear
  669. Xin parentheses. Anything in {}'s should
  670. Xbe substituted with its real value and
  671. Xbe a PART of the variable name on the
  672. Xleft side of the "=".
  673. X
  674. X[ Variable ]   [ Meaning ]
  675. X------------ / ------------------------
  676. Xname=name      The name of your BBS is
  677. X               "name".Example:name=UNIX
  678. Xversion=vs     The version of your SBBS
  679. X               BBS is "vs".
  680. Xcycle=cycle(3) Number of times SBBS
  681. X               will prompt a user to
  682. X               re-enter illegal ID or
  683. X               password before exiting.
  684. Xcls=cls_cmd    This tells SBBS what
  685. X               program to run when it
  686. X               needs to clear the
  687. X               screen. DEFAULT: echo ^L
  688. Xeval=          Set eval flag. This
  689. X               evaluates commands found
  690. X               in ~/misc/prlib,
  691. X               ~/misc/protocols.up, and
  692. X               ~/misc/protocols.down.
  693. X               This allows commands to
  694. X               be called up with
  695. X               arguments, environment
  696. X               variables, etc.
  697. Xelite=         Set elite flag. This
  698. X               will disallow new users
  699. X               from registering.
  700. Xnewuser=file   What file to show when
  701. X               a new user registers.
  702. Xshell=shl_prg  Shell to run when the
  703. X               administrator runs the
  704. X               "A" option. Default:
  705. X               /bin/sh.
  706. Xlog=lognoms(10)How many log names to
  707. X               keep in the userlog
  708. X               before clearing it and
  709. X               starting again.
  710. Xmbm{b}=mbm     The user with the ID of
  711. X               "mbm" will have control
  712. X               of message base "b".
  713. X               This can be set by the
  714. X               administrator or MBM of
  715. X               the base WITH IN SBBS by
  716. X               the "Z" option in the
  717. X               Message Base.
  718. Xb{b}=r:d       Message Base "b" is to
  719. X               have a restriction type
  720. X               of "r". ("restrict" or
  721. X               "access") And allow only
  722. X               people with IDs or
  723. X               access levels (Depending
  724. X               on value of "r") to
  725. X               access that Message Base.
  726. X
  727. SHAR_EOF
  728. sed 's/^X//' << 'SHAR_EOF' > setup.doc
  729. X.ll 70
  730. X.in 5
  731. X.nf
  732. X.ce 4
  733. XSBBS: The Sigma Bulletin Board System
  734. XSetup Guide(*)
  735. X
  736. XSBBS is copyright (C) 1987 by Rob DeMarco.
  737. X
  738. X
  739. X
  740. X.fi
  741. X.ce 1
  742. XIntroduction
  743. X
  744. XSBBS runs as a login shell and takes a bit of work to install properly.
  745. XThis document will help you do so and explain a few things about the way
  746. XSBBS operates.
  747. X
  748. XIncluded with the SBBS package are four documentation files. They are:
  749. X
  750. X.in +5
  751. X.nf
  752. XREADME    - an explanatory note
  753. Xsetup.doc - how to set up and configure an SBBS system
  754. Xadmin.doc - SBBS administration functions
  755. Xconfig.tbl- valid configuration variables
  756. X.in -5
  757. X.fi
  758. X
  759. X
  760. X.ce 1
  761. XInstalling SBBS
  762. X
  763. XThe most efficient way to run SBBS is to create a seperate login account for
  764. Xthe SBBS program. As SBBS maintains its own list of BBS users (and their
  765. Xpasswords), this allows users to simply type "su sbbs" to enter the program.
  766. XAlternately, if your version of UNIX ignores the default login shell when a
  767. X"su" command is executed, users can use "exec login sbbs". With a bit of
  768. Ximagination and a knowledge of shell programming techniques, any number of
  769. Xalternate methods can be devised.
  770. X
  771. XAll SBBS programs and files reside in one directory. The software is normally
  772. Xconfigured to be based in the directory /u/sbbs, although this can be changed
  773. Xto suit your particular needs. If you wish to place SBBS elsewhere, edit the
  774. Xfile login-sig and change the line
  775. X
  776. X.in +5
  777. Xdir=/u/sbbs
  778. X.in -5
  779. X
  780. Xreflect the desired location.
  781. X
  782. XAfter you have decided on SBBS's home, make sure that directory is created and
  783. Xthen create a subdirectory called programs. All files from the shell
  784. Xarchives should be kept in this directory, usually called /u/sbbs/programs.
  785. X
  786. XFrom this point on, the directory you have chosen for SBBS to reside in will
  787. Xbe referred to as ~sbbs.
  788. X
  789. XAfter insuring that a copy of every file from the shell archives exists in
  790. X~sbbs/programs, run the "install" program. This will automatically create the
  791. Xnecessary SBBS data files.
  792. X
  793. XFinally, add an appropriate line to your /etc/passwd file to allow users to
  794. Xaccess SBBS. A typical example follows.
  795. X
  796. X.in +5
  797. Xsbbs::1000:1000:SBBS user:/u/sbbs:/u/sbbs/programs/initial
  798. X.in -5
  799. X
  800. X
  801. X.ce 1
  802. XSupport
  803. X
  804. XIf you wish to become a registered owner of SBBS, contact robertd@ncoast.UUCP.
  805. XSupport will include periodic updates and possibly an SBBS newsletter.
  806. X---------------------
  807. X* Writen By Rob DeMarco (robertd@ncoast)
  808. XRevised and edited by Bill Wisner (billw@killer)
  809. XUpdated by Rob DeMarco
  810. SHAR_EOF
  811. exit
  812.  
  813.  
  814.