SAMBA (Domaincontroller) Server For Small Workgroups With Ubuntu 7.10

Version 1.0
Author: Till Brehm <t.brehm [at] projektfarm [dot] com>

This is a detailed description about setting up an Ubuntu based server (Ubuntu 7.10) to act as file- and printserver for Windows(tm) workstations in small workgroups. This howto uses the tdb backend for SAMBA to store passwords and account information. This is suitable for workgroups for up to 250 users and is easier to set up than an LDAP backend.

Installed Software:

  • Samba as domaincontroller
  • CUPS
  • Foomatic printer drivers

I want to say first that this is not the only way of setting up such a system. There are many ways of achieving this goal but this is the way I take. I do not issue any guarantee that this will work for you!



To install such a system you will need the following:

  • An Ubuntu server install CD (available here:
  • An internet connection since I will describe a network installation in this document.


Enable The root User

Now I can log in with the username "administrator" and password I entered above. I will enable the root user first for ease of installation. You can disable it later if you want.

sudo passwd root

Now we are logged in as root user.

Hint: This step is optional, if you dont want to enable the root user for security reasons, plese run the command "sudo su" to switch to root without enabling the root user to log in directly.


Configure The Network

The Ubuntu installer has configured our system to get its network settings via DHCP, we will change that now because a server should have a static IP address. Edit /etc/network/interfaces and adjust it to your needs (in this example setup I will use the IP address

vi /etc/network/interfaces 
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

# This is a list of hotpluggable network interfaces.
# They will be activated automatically by the hotplug subsystem.
mapping hotplug
        script grep
        map eth0

# The primary network interface
auto eth0
iface eth0 inet static

Then restart your network:

/etc/init.d/networking restart

Edit /etc/hosts and add your new IP addresses:

vi /etc/hosts       localhost.localdomain   localhost       server1     server1

# The following lines are desirable for IPv6 capable hosts
::1     ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts


Setting The Hostname

echo > /etc/hostname
echo '' >> /etc/hosts


Install SSH Daemon

apt-get install ssh openssh-server


The Next Steps...

Now you can log in to your server with an SSH client like PuTTY ( Its easier to follow this howto if you connect to your server with PuTTY and copy and paste the commands. If you want to edit config files on the server, you can use command line editors like vi, pico or joe or use a program like WinSCP ( to edit the files over your SSH connection in a Windows client.



apt-get install quota

Edit /etc/fstab to look like this (I added ,usrquota,grpquota to the partitions with the mount point /):

vi /etc/fstab 
# /etc/fstab: static file system information.
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
proc            /proc           proc    defaults        0       0
# /dev/sda1
UUID=226d9304-88ca-44c0-a3e3-d1ad26cfc084 /               ext3    defaults,errors=remount-ro,usrquota,grpquota 0       1
# /dev/sda5
UUID=d824ce36-04b8-4870-83f4-f1a5037c2de4 none            swap    sw              0       0
/dev/hdc        /media/cdrom0   udf,iso9660 user,noauto     0       0
/dev/           /media/floppy0  auto    rw,user,noauto  0       0

Then run:

touch /quota.user /
chmod 600 /quota.*
mount -o remount /
quotacheck -avugm
quotaon -avug

You will get a error like this when you run the command quotacheck -avugm the first time.

quotacheck: WARNING - Quotafile //quota.user was probably truncated. Cannot save quota settings...
quotacheck: WARNING - Quotafile // was probably truncated. Cannot save quota settings...

This is normal and nothing to worry about!

Share this page:

Suggested articles

1 Comment(s)

Add comment



Please note that with the latest download of Ubuntu Server 7.10 you need to create files aquota.user and, not quota.user and The required filenames have changed for version 2 of quota.