myatari.net[Banner]

Homepage


 

Issue 16: Feb 2002

 

Features

-

Foreword

-

GAME, set, match!

-

Tip of the day

-

Atari Emulation

-

Giving windows a color cut

-

Atari pitch invasion

-

Samba

-

Full Steem Ahead

-

The MultiJoy8 Interface

 

Review

-

Atari-Source.com

 

News

Samba

by Mille Babic
Translation from Swedish by Bo Leuf

 

Introduction
Samba is a solution for shared resources, such as folders and printers, between different computer platforms. The driving force behind this project is to achieve a good way to integrate Unix computers into an existing Windows network. Even Atari is in this picture thanks to open standards resulting in easy ports.

Samba uses the smb (server message block) protocol. Smb has its origins in NetBIOS (Network Basic Input Output System), which was developed by IBM to connect together smaller networks. Microsoft later added functions for file shares and smb found a practical use. NetBIOS was further extended to NetBEUI, allowing packet transfers between different networks – NetBIOS over TCP/IP is the specific technique that Samba uses. Microsoft changed the name for the combination of smb and NetBIOS to CIFS (Common Internet File System).

The Samba project, coordinated by Australian, Andrew Tridgel (who originally ported smb to UNIX to be able to reach Unix from his DOS computer) is still being developed. Samba is developed as Open Source Software (OSS) and distributed under the GNU General Public License (GPL). Samba has a good reputation for stability and works well on Linux, Sun Solaris and IBM AIX, to name but a few. From an Atari, it allows access to resources in a home network, generally built around one or more Windows or Linux systems and provides an excellent complement to FTP and Telnet. Samba’s integration into BNet will give Atari computers a natural place in home networks.

In this article, I explore what is possible with Samba from the perspective of an Atari user, show a few examples of the advantages this gives in a home network, and explain how to set up this solution. The main focus is on the client part of smb to stay with the intent of describing smb and Atari in home networks.

We look at an FTP-like smb client that gives access to resource shares on a PC running MS Windows, including printers and folder shares on disk. The client is a simple tool that functions as a command interpreter and file manager, among other things.

More information about Samba is available from the official web site www.samba.org in the form of a wealth of documentation, manuals, and text files with useful tips and problem solutions. Mailing lists and newsgroups, linked from the homepage are also a good source of information. Therefore, I can safely focus on the core subject of the article.

You can find updated information about this article, including more examples and illustrations, on my own home page, section MagiCNet found at http://mille.atari.org

Home Network as Base
There’s usually more than one computer in a home, and often other associated equipment, for example a printer. An ideal solution is an environment where computers can share resources in a local network (LAN), and also access to a public network (WAN, Internet). This is convenient when working with audio, photos, or other document, managed together with other family members, and allows surfing the Internet from any location.

The most common type of network in this home context (with less than about 8 systems) is a server less (peer) one, where the computers are members of a Windows Workgroup. We here assume that such a LAN is already deployed, and refer to my earlier articles about Atari and Ethernet, MagiCNet, and how to connect Atari computers to home LANs to access a common Internet provider account. Earlier described LAN solutions for Atari are based on running an FTP-server on the Atari system to allow other computers on the network to access the files stored there.

However, now we look at how the smb client can reverse the perspective, so that we instead access and manage material on the network and shared in the other computers using the client’s command interpreter and FTP features.

Using SMB with MagiCNet
SMB_CLNT.ZIP is the package that contains the MagiCNet version of the smb client, and is available from Vassilis Papanthanassiou’s home page at http://users.otenet.gr/~papval. The package contains four files, which alone indicates that this is no large installation. It is instead a TTP (TOS Takes Parameters) program.

This version is a port of a client that accesses smb-compatible (NetBIOS) servers that run under for example Linux and MS Windows. Vassilis points out that he doesn’t like that important applications in MagiC/MagiCNet are TTP, and will therefore implement smb with BNet to integrate the desktops file management features.

To properly locate Samba according to recommendations, one should use the ”official” tree structure from the start. Even though the client now only has four files, future extensions to Samba are made easier if the structure is already in place.

The /samba folder should therefore be placed at the top of the tree, as u:\usr\local\samba\. A program called LINK2U.PRG, created by Daniel Augsburger and run from \gemsys\magic\start, makes this easy. The LINK2U.CNF configuration file is in my folder with configuration files, and MAGX.INF should point to this ($home).

; Variable in MAGX.INF
#_ENV home=e:\usr\home

If you don’t use this MAGX.INF variable, then LINK2U.CNF should be in \magic\start, which defines the programs that start at boot time.

Here is an example of what my LINK2U.CNF file looks like.

# create links to drive u
#
sln e:\usr u:\usr
sln e:\tmp\ u:\tmp
# delete link to drive a
#
delu a

Since the Samba readme.txt recommendations say that Samba should be placed as \usr\local\samba on a vfat volume (FAT with MS Windows support for long file names), we can see that Samba will be linked to u:\ by LINK2U according to my shown configuration.

You make the Samba tree structure yourself by creating the subdirectories. My example of this, with typical files, is:

e:/usr

    /local

      /samba

        smb_clnt.ttp

        /lib

          smb.conf

          LMHOSTS (optional, not used yet)

            /codepages

        /private

          smbpasswd (optional)

        /var

Running the Client
The first input parameters that you can test when running the client can apply to a PC computer in the home network, MS Windows or Linux, which supports smb. The Atari system needs a HOSTS file where all LAN connected computers are defined with IP numbers and names. MagiCNet has such a file, so it’s just to edit it to add the current computer details. The smb client has simple tools to read HOSTS, just like MINTnet. Most of these tools are programmed to search for HOSTS in u:\etc.

[Screen-shot: Running the Client]

The input parameter “–L Sophie”, as shown in the first capture, results in the received output of available shares on “Sophie” shown in the second.

[Screen-shot: smb client]
Click
to view larger image

In the screen-shot above, we can see that several shares are available on the computer called Sophie, including volumes, folders and a printer. The result also gives other information, such as workgroup name and further connections to other computers from Sophie as specified by its browse list. As a second example, we connect to a shared resource on Sophie: the folder called Atari, using the standard UNC and the identity “guest”:

\\Sophie\Atari -N -U guest

In the screen-shot below, we can see that the client is waiting at a prompt, a command line interpreter where we can type numerous commands and parameters. The ls command lists the contents of the Atari folder just opened.

[Screen-shot: smb client]
Click
to view larger image 

We decide to transfer to the Atari computer the file MLDEBUG.ZIP, which has MyMail for beta testers. The simple command “get mldebug.zip” copies the file over the network from the other computer and places this in the home directory for Samba. Alternatively, the mget command would have allowed us to fetch multiple files, or a joker-matched selection. There are some 40 commands available to use with shares. Type “ help” (or “?”) followed by Return to list them all.

Transfer Speed
According to the manual, transfer speeds of between 120 and 144 Kbytes are possible. This value depends on MagiCNet, updated driver for the Ethernet adapter, and other factors. I get between 76 and 88 kB/s, and have yet to upgrade to the latest distro of MagiCNet that has the updated driver for the RTL8012 chip in the Ethernet adapter.

Access Printer
It’s easy to print text to a shared printer on the network. I provided the following input parameters in the smb client:

\\Sophie\Skrivare -P -N -U guest

At the prompt, I then typed ”print smb.conf”, which is in the Samba home directory. The document printed out on the remote printer without any problem. It’s also possible to let NVDI print to file, and then print this with the print command from the smb client.

Configuring smb.conf
Samba’s configuration file, smb.conf, contains information about the different Samba binaries and tools. Most variables and values aren’t in fact used at all, so our smb client works perfectly well without any need to go in and edit anything. On the other hand, if the network implements high security with log-in to MS Windows NT, or basic Linux security, then you need to edit in values for the user identities that have permissions on these machines.

The same smb.conf file with the full set of rather complex settings is used for both the simple smb client, and for cases when a full-strength Samba server is set up on for example a Unix computer. The variables are therefore set by default for the computer you run Samba on. If there’s no shared printer on the Atari system, and unless you run a multi-user MINT/MINTnet set-up with log-in and permissions there’s absolutely no need to consider editing the configuration settings.

For the cases when the need does arise, the complex smb.conf settings are usually configured using the program swat (Samba Web Administration Tool) and a Web browser. Our little client doesn’t have, and doesn’t need this level of administration.

MagiCNet is MINTnet, but in a form for the MagiC OS which few use as a multi-user environment. Many MINT users on the other hand set up their computers with log-in and permissions for folders and files. They might be sitting with SCSI-equipped Falcons, or a compatible such as Hades, and use SpareMINT, FreeMINT, or other “industrial strength” operating systems. To set up Samba in such environments will require some changes in smb.conf, except in cases where only the root administrator can be expected to use the client.

When editing smb.conf, note that it’s constructed according to the key=value format, and lines break at new lines. There are many comments, prefixed with the "#" character, while inactive lines are usually commented out using the semicolon at the beginning to visually distinguish them from pure comments.

A typical snippet can look like this:

# Uncomment this if you want a guest account, you may # add this to /etc/passwd otherwise the user "nobody"
# is used
; guest account = mille

Neither the smb client, nor any other binary in the package parses any of the first three lines as they are written. However, it’s easy to see that removing the semicolon would activate this particular function.

Smb.conf is divided into sections. The parameters under the first, [global], are used by the Samba Server as they stand, or specify the default values for other sections that aren’t usually changed. Everything under [homes] is parsed when one requests connection for example to a shared folder on a computer in the network. A match in this section means that the parameters are used, otherwise the assumption is that a username is used and the password file parsed. If the user is then found in the passwd file, this is used to connect to the share. When you set up Samba and want to test that it works, you should begin by using “guest” when connecting to a share in the network. Otherwise, it is difficult to debug why a connection attempt fails. Is the username incorrect? Or the password? Or are the guest accounts disabled on the Windows or Linux system?

There are several more sections in smb.conf, for instance [printers], but recall that we are running an smb-client and not a Samba Server on our Atari machine. In my case, I have no printer connected to the Atari and therefore no need to assign permissions to other users on the network. Instead, I want to access another printer on the network.

Samba and MiNT
I downloaded the samba-1.9.18p3-mint.tar.gz distribution, all of 8900 Kbyte, to get an impression of how samba works under MiNT. Never before has an unpacker on my Atari Falcon had the task to pull apart such a mass of glued-together files. The archive contained a total of 261 files with source, 66 files documentation, 30 samples and much more. The MiNT package of Samba includes the original distribution, which explains this huge file.

Because MagiCNet is based in MiNTnet, it’s possible to run the binaries and programs that were originally ported to MiNTnet, for example those found on the SpareMiNT homepage. I didn’t spend much time going through all of Samba for MiNT, but test ran a few programs, such as the included smb-client, smbclien. To be able to run the MiNTnet binaries, MagiC needs file extensions on them, so that for example smbclien must be renamed to smbclien.ttp. You’ll also find smbtar and smbd in this enormous archive, but mainly Samba Server. Starting this lets you see shared resources in for example a Windows network.

Because the MiNT distribution is so comprehensive, the manual pages ine in both text and HTML format are invaluable.

BNet and smb
One longed-for project Vassilis Papanthanassiou is working on at the moment is to integrate smb in his creation Bnet. Bnet is already used as a Drag&Drop aid in MagiC, as a way of accessing (through GEM windows) Atari computers connected with TCP/IP.

[Screen-shot: Bnet connection]

Here we see a Bnet connection between two Atari machines, an STE named Michelle where this capture was made, and a Falcon named Erica. This is a very good tool to move files in a GEM environment. The connection in this case is by way of a cheap null-modem cable and MagiCNet.

Samba Server
While writing this article, I had e-mail contact with Vassilis and learned that he is almost finished making a working smb-server. With this, an Atari with MagiCNet becomes transformed into a naturally connected computer in the home network, able to access the available resources and shares.
 

Useful links


This article was originally published within
Atarimagasinet in Swedish and is reproduced (in English) with permission.

 

[ Top of page ]


MyAtari magazine - Feature #7, February 2002

 

Copyright 2002 MyAtari magazine