I shall address your questions in the order in which you posed them.
Q: How can I configure the server with Linux so that the windows xp
machines can easily transfer files to/from the server? By easily
I mean the xp machines should see some server directories in
their 'file manager' window, in a similar way as they see their
You can use the open-source software package Samba to set up a network
share in which your Linux machine, acting as the file server, appears
as a Windows host on the client machines' desktops. This is a standard
application of Samba, which is available for free. The procedure is
extensively documented on the web, for instance in the O'Reilly handbook
Using Samba, the full contents of which are available online.
Samba is a suite of Unix applications that speak the Server
Message Block (SMB) protocol. Microsoft Windows operating
systems and the OS/2 operating system use SMB to perform
client-server networking for file and printer sharing and
associated operations. By supporting this protocol, Samba enables
computers running Unix to get in on the action, communicating with
the same networking protocol as Microsoft Windows and appearing
as another Windows system on the network from the perspective
of a Windows client.
O'Reilly: Using Samba, 2nd Edition: Chapter 1
Configuring Windows to use your new Samba server is really quite
simple. SMB is Microsoft's native language for resource sharing
on a local area network, so much of the installation and setup
on the Windows client side have been taken care of already.
O'Reilly: Using Samba, 2nd Edition: Chapter 3
Before downloading the Samba suite, you should check to see whether it
is installed already, for example by running 'man samba' from the command
line. Most Linux distributions, including many flavors of Debian, bundle
Samba into the standard installation.
Q: Does linux has a built-in automatic backup software? where can
I find one otherwise?
Although Linux administrators tend to use general-purpose system tools
such as crontab and tar to schedule automatic backups on their network,
there are also a number of software packages that offer a specialized
backup solution. Perhaps the most popular among these is AMANDA, the
Advanced Maryland Automatic Network Disk Archiver, which is available
without charge. You should run 'man amanda' before downloading and
installing Amanda yourself, because AMANDA is included by default in
many Linux installations. AMANDA works with tape backup drives as well
as with plain hard-disk backup.
AMANDA, the Advanced Maryland Automatic Network Disk Archiver,
is a backup system that allows the administrator of a LAN to set
up a single master backup server to back up multiple hosts to a
single large capacity tape drive. AMANDA uses native dump and/or
GNU tar facilities and can back up a large number of workstations
running multiple versions of Unix. Recent versions can also use
SAMBA to back up Microsoft Windows hosts.
Q: How can I guarantee the efficiency of such a solution?
By far the greatest cause of inefficiency in backup systems is the
transfer of files that have not changed since the last backup. In order to
preclude such gratuitous backup, you can use rsync, scheduled by crontab,
to perform your backup. This would entail the installation of Cygwin,
which is essentially a Windows-compatible Unix shell, on your Windows
clients. The rsync tool and the crontab scheduling utility are bundled
with Cygwin, so you can run them directly from the Cygwin shell. As an
alternative to crontab, you might use the built-in Windows Task Scheduler
to run a batch file that calls rsync.
Rsync works by using short and long checksums to compare the files you
are asking it to transfer against previously transferred files. If the
checksums imply that a file is overwhelmingly unlikely to have changed
since the last transfer, it is not transferred again. This economy,
repeated over many files, saves you a great deal of time and bandwidth.
rsync is an open source utility that provides fast incremental
Your crontab file is a list of tasks that are run on a regular
schedule. For example, you might set up your crontab file so that
it runs a task every night or midnight, or once a week during
low-use hours. This task could perform regular maintenance chores,
for example, backing up files or getting rid of unnecessary
MKS Software: man crontab
Cygwin is a Linux-like environment for Windows. It consists
of two parts:
# A DLL (cygwin1.dll) which acts as a Linux API emulation
layer providing substantial Linux API functionality.
# A collection of tools, which provide Linux look
Q: How can I guarantee the security of such a solution (virus, intrusions)?
You can safeguard your Linux server against intruders by ensuring that
you use ssh (secure shell) communications instead of the standard
telnet utility and by tunneling all of your file transfers through
ssh. The ssh package is included with all Linux installations and with
the full Cygwin installation, so you won't have any extra software to
download. Furthermore, you can pass a command-line option to rsync to make
it use ssh for file transfers. AMANDA can also be configured to use ssh.
A further measure of protection is afforded by the iptables utility built
into every Linux installation. This protects you against unauthorized
access and network sweeps such as those conducted by many Internet worms.
Amanda 2.5.0 provides ssh based authentication mechanism. To
enable Amanda to use "ssh" for communication, "auth" parameter
in amanda.conf should be set to "SSH"
Amanda Wiki: Amanda and ssh tunnels
University of Melbourne: Optics Research Group: Installing ssh and rsync
on a Windows machine
jdmz.net: Using Rsync and SSH
Linux Guruz: Linux iptables HOWTO
So there you have it. With the help of Samba and a few standard
command-line utilities, you can readily turn your Linux machine into a
fast, secure file server and backup box with transparent network access
from your Windows machines.
I have enjoyed answering your question. If you have any concerns about
the accuracy of my research, please advise me through a Clarification
Request and allow me the opportunity to fully meet your needs before
you rate this answer.
linux backup software
linux network security