Home > Articles

Samba-3: A Nine User Network Server

  • Print
  • + Share This
John Terpstra provides an example of simple Samba network server architecture. The customer wants a simple solution, but knowing this business is about to grow rapidly, this network will be designed so that it can meet future needs without limitation. This simple network uses User Mode security but delivers it with the same simplicity of use that an anonymous read-write file and print server delivers.
Like this article? We recommend

Accounting Office

The office of Abmas Accounting Inc. is a 40-year-old family-run business. There are nine permanent computer users. The network clients were upgraded two years ago. All computers run Windows 2000 Professional. This year the server will be upgraded from an old Windows NT4 server (actually running Windows NT4 Workstation, which worked fine as there were fewer than 10 users) that has run in workgroup (Stand-Alone) mode, to a new Linux server running Samba.

The office does not want a Domain Server. Mr. Alan Meany wants to keep the Windows 2000 Professional clients running as workgroup machines so that any staff member can take a machine home and keep working. It has worked well so far and your task is to replace the old server. All users have their own workstation logon (you configured it that way when the machines were installed). Mr. Meany wants the new system to operate the same way as the old Windows NT4 server users cannot access each others' files, but he can access everyone's files. Each person's work files are in a separate share on the server. Users logon to their Windows workstation with their username and enter an assigned password; they do not need to enter a password when accessing their files on the server.

The new server will run Red Hat Linux 9.0. You should install Samba-3.0.2 and copy all files off the old system to the new one. The existing Windows NT4 server has a parallel port HP LaserJet 4 printer that is shared by all. The printer driver is installed on each workstation. You must not change anything on the workstations. Mr. Meany gave instructions to replace the server “but leave everything else alone to avoid staff unrest.

You have tried to educate Mr. Meany and found that he has no interest to understand networking. He believes that Windows for Workgroups 3.11 was “the best server Microsoft ever sold ” and that Windows NT and 2000 are “too fang-dangled complex!

Dissection and Discussion

The requirements of this network installation are not unusual. The staff are not interested in the details of networking. Passwords are never changed. In this example solution, we demonstrate the use of User Mode security in a simple context. Directories should be set SGID to ensure that members of a common group can access the contents. Each user has his or her own share to which only they can connect. Mr. Meany's share will be a top level directory above the share point for each employee. Mr. Meany is a member of the same group as his staff and is able to access their work files. The well used HP LaserJet 4 is available as a service called hplj.

You have finished configuring the new hardware and have just completed installation of Red Hat Linux 9.0. Roll up your sleeves and let's get to work.


The workstations have fixed IP addresses. The old server runs Windows NT4 Workstation, so it cannot be running as a WINS server. It is best that the new configuration preserves the same configuration. The office does not use Internet access, so security really is not an issue.

The core information regarding the users, their passwords, the directory share point, and the share name is given in Table 2.1. The overall network topology is shown in Figure 2.2. All machines have been configured as indicated prior to the start of Samba configuration. The following prescriptive steps may now commence.

Table 2.1. Accounting Office Network Information




Share Name



Alan Meany






James Meany






Jeannie Meany






Suzy Millicent






Ursula Jenning






Peter Pan






Dale Roland






Bertrand E Paoletti






Russell Lewis






Figure 2.2. Accounting Office Network Topology


Procedure 2.9. Migration from Windows NT4 Workstation System to Samba-3

  1. Rename the old server from CASHPOOL to STABLE by logging onto the console as the Administrator. Restart the machine following system prompts.

  2. Name the new server CASHPOOL using the standard configuration method. Restart the machine following system prompts.

  3. Install the latest Samba-3 binary Red Hat Linux RPM that is available from the Samba FTP site.

  4. Add a group account for the office to use. Execute the following:

    root#  groupadd accts
  5. Install the smb.conf file shown in Example 2.4.

  6. For each user who uses this system (see Table 2.1), execute the following:

    root#  useradd -m -G accts -c "Name of User" "LoginID"
    root#  passwd "LoginID"
    Changing password for user "LoginID"
    New Password: XXXXXXXXX <-- the password from the table
    Retype new password: XXXXXXXXX
    root#  smbpasswd -a "LoginID"
    New SMB password: XXXXXXXXX <-- the password from the table
    Retype new SMB password: XXXXXXXXX
    Added user "LoginID"
  7. Create the directory structure for the file shares by executing the following:

    root#  mkdir -p /data
    root#  chown alan /data
    root#  for i in james suzy ursula peter dale eric jeannie russell
    > do
    >       mkdir -p /data/$i
    >       chown $i /data/$i
    > done
    root#  chgrp -R accts /data
    root#  chmod -R ug+rwxs,o-r+x /data

    The data storage structure is now prepared for use.

  8. Configure the CUPS Print Queues as follows:

    root#  lpadmin -p hplj -v parallel:/dev/lp0 -E

    This creates the necessary print queues with no assigned print filter.

  9. Edit the file /etc/cups/mime.convs to uncomment the line:

    application/octet-stream     application/vnd.cups-raw      0     -
  10. Edit the file /etc/cups/mime.types to uncomment the line:

  11. Use the standard system tool to start Samba and CUPS to configure them to restart automatically at every system reboot. For example:

    root#  chkconfig smb on
    root#  chkconfig cups on
    root#  /etc/rc.d/init.d/smb restart
    root#  /etc/rc.d/init.d/cups restart
  12. On Alan's workstation, use Windows explorer to migrate the files from the old server to the new server. The new server should appear in the Network Neighborhood with the name of the old server (CASHPOOL).

    1. Logon to Alan's workstation as the user alan.

    2. Launch a second instance of Windows explorer and navigate to the share called files on the server called STABLE.

    3. Click in the right panel, and press Ctrl-A to select all files and directories. Press Ctrl-C to instruct Windows that you wish to copy all selected items.

    4. Launch the Windows explorer, and navigate to the share called files on the server called CASHPOOL. Click in the right panel, and then press Ctrl-V to commence the copying process.

  13. Verify that the files are being copied correctly from the Windows NT4 machine to the Samba-3 server. This is best done on the Samba-3 server. Check the contents of the directory tree under /data. This can be done by executing the following command:

    root#  ls -aR /data

    Make certain to check the ownership and permissions on all files. If in doubt, execute the following:

    root#  chown alan /data
    root#  for i in james suzy ursula peter dale eric jeannie russell
    > do
    >       chown $i /data/$i
    > done
    root#  chgrp -R accts /data
    root#  chmod -R ug+rwxs,o-r+x /data
  14. The migration of all data should now be complete. It is time to validate the installation. For this, you should make sure all applications, including printing, work before asking the customer to test drive the new network.

Example 2.4. Accounting Office Network smb.conf File

# Global parameters


workgroup = BILLMORE

printing = CUPS

printcap name = CUPS

disable spoolss = Yes

show add printer wizard = No


comment = Work area files

path = /data/%U

valid users = %S

read only = No


comment = Master work area files

path = /data

valid users = alan

read only = No


comment = Print Temporary Spool Configuration

path = /var/spool/samba

printable = Yes

guest ok = Yes

use client driver = Yes

browseable = No


The solution could easily have been more complex, but the customer is happy that all needs are met without complexity – well done!

  • + Share This
  • 🔖 Save To Your Account