You can have a samba setup that uses an openldap server to authenticate the users.
The Samba 3 by Example book has a sample configuration. You may have it in /usr/src/doc/samba-version/ or /usr/src/doc/packages/samba/. You may need to install a samba-doc package. On my system, the samba-doc package installs both the pdf and html versions. On Fedora Core, it installs a PostScript version.
Your distro may also configure the hosts for you. There are other ways of doing this. Samba can use various types of password backends, and you can use samba for authentication. There usually is a script that is run that will create your systems /etc/passwd file based on the directory contents. You still need a Unix user corresponding to every samba user, including those on Windows computers.
If your distro takes care of the PAM configuration for you, that will make life a lot easier.
Another thing to look at on an all linux network is NFS and NIS (formally YP for yellow pages). Also, if your network isn't too large you could use cfengine or something similar to centrally administer the Linux machines. You could then also replicate other files and applications as well.
There is a book "Automating UNIX and Linux Administration" by Kirk Bauer. He has scripts that he uses to automate the administration of Linux hosts.
There is a must read book, The Linux Filesystem Hierarchy Standard, on the
www.tldp.org website. It explains the Linux directory tree and the logic behind it. Several of the directories could be static and shared. For example, all your linux hosts could mount shares read-only for /bin/,/sbin/,/usr, etal. Then you could install or upgrade software on one host as an administer and all of the other hosts on the network would be updated.
Look at the format of the /etc/passwd file: man 7 passwd. The home directory of a user could be located on a network share. So, you could have the person's home directory on a NAS server. The regular users in the /etc/passwd and /etc/shadow entries could be replicated to all of the hosts. When the user logs in from any, he is connected to his home directory on the NAS server. You could do the same, where the user has a home directory on his own computer. That computers home directory is shared and on the other hosts, the home directory entry in /etc/passwd looks like ://host/username/:. You might not want to replicate the entire /etc/passwd and /etc/shadow files. They contain system users as well, which may be configured differently if you use different distributions.
--
P.S. If you mount samba shares, use the cifs filesystem rather than smbfs. It has better support for Unix/Linux native permissions when sharing Linux native filesytem partitions.