old-www/LDP/LG/issue32/tag_BBS.html

210 lines
8.3 KiB
HTML

<!--startcut ======================================================= -->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html><head>
<META NAME="generator" CONTENT="lgazmail v1.1preB">
<TITLE>The Answer Guy 32:
Finding BBS Software for Linux
</TITLE>
<!-- ORIGINAL SUBJECT:
Jim Dennis: [comp.os.linux.development.apps] BBS for Unix
JTD SUBTITLE:
-->
</head>
<BODY BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000FF" VLINK="#A000A0"
ALINK="#FF0000">
<H4>"Linux Gazette...<I>making Linux just a little more fun!</I>"
</H4>
<P> <hr> <P>
<!-- ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -->
<H1 align="center"><A NAME="answer">
<img src="../gx/dennis/qbubble.gif" alt="" border="0" align="middle">
<a href="./index.html">The Answer Guy</a>
<img src="../gx/dennis/bbubble.gif" alt="" border="0" align="middle">
</A></H1>
<BR>
<H4 align="center">By James T. Dennis,
<a href="mailto:linux-questions-only@ssc.com">linux-questions-only@ssc.com</a>
<BR>Starshine Technical Services, <A HREF="http://www.starshine.org/">http://www.starshine.org/</A>
</H4>
<p><hr><p>
<!--endcut ========================================================= -->
<H3><img src="../gx/dennis/qbub.gif" alt="(?)"
width="50" height="28" align="left" border="0"
>Finding BBS Software for Linux</H3>
<p><strong>From Li-cheng Hsu in the
<a href="news:comp.os.linux.development.apps"
>comp.os.linux.development.apps</a>
newsgroup on 29 Jul 1998 </strong></p>
<!-- begin body -->
<p><strong>Greetings,
</strong></p>
<p><strong>I used to be a sysop of FidoNet using Maximus as my BBS system in
DESQview environment. Now I have switched from DOS/Windows to Linux
as my major working platform.
</strong></p>
<p><strong>The question is, is there any BBS system that is recommended to run
in Unix ? It should be able to handle both dial-up &amp; TCP/IP, of
course. <IMG SRC="../gx/dennis/smily.gif" ALT=":)" height="24" width="20" align="middle">
</strong></p>
<blockquote><img src="../gx/dennis/bbub.gif" height="28" width="50"
alt="(!)" border="0"
>There's a tree of directories at the master Linux
archive:
</blockquote>
<code><blockquote><blockquote><A HREF="http://sunsite.unc.edu/pub/Linux/system/bbs">http://sunsite.unc.edu/pub/Linux/system/bbs</A>
</blockquote></blockquote></code>
<blockquote>There are several packages there --- including a number of
utilities for ifmail (the Internet to FIDO gateway).
</blockquote>
<blockquote>Most of these are free or shareware.
</blockquote>
<blockquote>There are also Linux ports of MajorBBS and MMB Teammate
(a couple of major commercial BBS packages --- which are
pretty expensive).
</blockquote>
<blockquote>I haven't used any of them so I can't offer specific
suggestions. However, I've crossposted the two newsgroups
that are most likely to have interested and informed
participants (alt.bbs.unixbbs and comp.bbs.misc).
</blockquote>
<blockquote>There are about 50 newsgroups devoted to BBS'
(including various specific BBS packages like TBBS,
MajorBBS, Citadel, etc).
</blockquote>
<blockquote>(I've been a sysop on two large corporate systems,
for Symantec and for McAfee --- so, I used to subscribe
to some of these. However I've never run a small hobbyist
system so I just haven't kept up in the field).
</blockquote>
<p><strong>Thanks in advance. <IMG SRC="../gx/dennis/smily.gif" ALT=":)" height="24" width="20" align="middle">
</strong></p>
<blockquote>Linux can handle dial-up as well as console login and give a remote user
normal shell. But you probably want to restrict access for BBS users.
</blockquote>
<blockquote>You can set them up with simple shell script (or <tt>perl</tt>,
or <tt>tcl</tt>) which
would emulate maximus as close as you wish, but I think that better
approach is to use text-based web-browser
<tt><a href="http://lynx.browser.org/">lynx</a></tt> for their shell.
</blockquote>
<blockquote>These are likely to be severe security problems unless
you are a phenomenally good (and careful) programmer.
</blockquote>
<blockquote>I'd did play with a configuration that ran <tt>lynx</tt> in a
chroot jail. That was to prototype a "dial in kiosk"
</blockquote>
<blockquote>One sticking point for my application was that I wanted
a replacement '<tt>getty</tt>' that could auto-detect ANSI PC
emulation (which many BBS' can do with some sort of
magic escape code) and bypass the Unix login command
--- I think I replaced /bin/login in the jail with an
SUID "nobody" copy of <tt>lynx</tt>, and put a &lt;chroot&gt;<tt>/etc/issue</tt>
that just said: "Hit any key to ...."
</blockquote>
<blockquote>Thus you set up normal Web site instead of BBS, solving problem with
TCP/IP instantly, and let dial-in users to view it in <tt>lynx</tt>.
<tt>Lynx</tt>
includes provisions to download/upload files using Z-Modem and Xmodem
(by calling external programs <tt>sz</tt> and <tt>rz</tt>) and allows to
restrict users almost as much as you wish.
</blockquote>
<blockquote>However, those various restrictions may not be foolproof.
There have been exploits that bypassed <tt>lynx</tt> restrictions before.
</blockquote>
<blockquote>So, if security is an issue, you definetely want to
lock this in a jail with no shell and take some other
precautions.
</blockquote>
<blockquote>You are right that this is an interesting way to
provide "kiosk" style dial-up using stock HTML/web pages
and off the 'net freeware. That was the whole point of
my prototype (which took all of about three hours one
afternoon).
</blockquote>
<!-- end body -->
<!--startcut ======================================================= -->
<P> <hr> <P>
<H5 align="center"><a href="http://www.linuxgazette.com/copying.html"
>Copyright &copy;</a> 1998, James T. Dennis <BR>
Published in <I>Linux Gazette</I> Issue 32 September 1998</H5>
<P> <hr> <P>
<!--::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::-->
<table width="98%"><tr valign="center" align="center">
<td rowspan="3"><A HREF="./lg_answer32.html"><IMG
SRC="../gx/dennis/answernew.gif"
ALT="[ Answer Guy Index ]"></A></td>
<td><A HREF="tag_phreak.html">phreak</A>
<td><A HREF="tag_abandon.html">abandon</A>
<td><A HREF="tag_javaterm.html">javaterm</A>
<td><A HREF="tag_BBS.html">BBS</A>
<td><A HREF="tag_flaws.html">flaws</A>
<td><A HREF="tag_doslinux.html">doslinux</A>
<td><A HREF="tag_resume.html">resume</A>
</tr><tr valign="center" align="center">
<td><A HREF="tag_softwindows.html">softwindows</A>
<td><A HREF="tag_convert.html">convert</A>
<td><A HREF="tag_apache.html">apache</A>
<td><A HREF="tag_emulate.html">emulate</A>
<td><A HREF="tag_database.html">database</A>
<td><A HREF="tag_distrib.html">distrib</A>
<td><A HREF="tag_proxy.html">proxy</A>
</tr><tr valign="center" align="center">
<td><A HREF="tag_disable.html">disable</A>
<td><A HREF="tag_DVI.html">DVI</A>
<td><A HREF="tag_superblock.html">superblock</A>
<td><A HREF="tag_serial.html">serial</A>
<td><A HREF="tag_permission.html">permission</A>
<td><A HREF="tag_detach.html">detach</A>
<td><A HREF="tag_cdr.html">cdr</A>
</tr><tr valign="center" align="center">
<td><A HREF="tag_rs422.html">rs422</A>
<td><A HREF="tag_modem.html">modem</A>
<td><A HREF="tag_notfound.html">notfound</A>
<td><A HREF="tag_tuning.html">tuning</A>
<td><A HREF="tag_libc5.html">libc5</A>
<td><A HREF="tag_startup.html">startup</A>
<td><A HREF="tag_clock.html">clock</A>
<td><A HREF="tag_ping.html">ping</A>
</tr><tr valign="center" align="center">
<td><A HREF="tag_accounts.html">accounts</A>
<td><A HREF="tag_lilo.html">lilo</A>
<td><A HREF="tag_NDS.html">NDS</A>
<td><A HREF="tag_95slow.html">95slow</A>
<td><A HREF="tag_nonlinux.html">nonlinux</A>
<td><A HREF="tag_progenv.html">progenv</A>
<td><A HREF="tag_cluster.html">cluster</A>
<td><A HREF="tag_ftpd.html">ftpd</A>
</tr></table>
<P> <hr> <P>
<!--::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::-->
<A HREF="./index.html"><IMG SRC="../gx/indexnew.gif"
ALT="[ Table Of Contents ]"></A>
<A HREF="../index.html"><IMG SRC="../gx/homenew.gif"
ALT="[ Front Page ]"></A>
<A HREF="lg_bytes32.html"><IMG SRC="../gx/back2.gif"
ALT="[ Previous Section ]"></A>
<A HREF="./stemen.html"><IMG SRC="../gx/fwd.gif"
ALT="[ Next Section ]"></A>
<!--::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::-->
</body>
</html>
<!--endcut ========================================================= -->