So I am looking to improve a network for about 20 machines. This consists of various Windows machines (about 10 XP/Vista) and various Linux machines (about 10). Right now it is a P2P network. The "servers" are Linux. Some client workstations are Windows and some are Linux.

I am starting to look at security issues and am interested in using various authentication methods for staff to access files.

I would like to transition from P2P to a client-host architecture. One server should be responsible for authentication/permissions to access the various other resources (files, rendering servers, printers etc...).

Like Active Directory except for Linux and allows for Linux/Windows clients.

Oh yeah, the budget for this is ~$0, but we have a decent amount of equipment already.