We are on a University campus network, and I am working for a professor who wants to network at least three new computers with four existing machines. I'd like to know the best way to setup these computers to work together. Below are the requirements:

  • One computer will host the data (it has 1TB of HDD space)
  • The other computers will regularly be accessing and editing the data directly, so a mounted file system (NFS, SSHFS, etc) may be needed (SVN or CVS is not an option as it needs to be easy for the users and professor)
  • All computers should be capable of being used to do calculations (full use of the CPU/RAM)

The issue I am wondering specifically about is making the shared files private enough so that only the authorized people can access it, while not having to manually make sure that all UIDs, GIDs, etc are the same across all computers (which is the current setup using NFS). Ideally any user should be able to use any computer and have the same environment, but this is not a requirement. Currently, the computers are running Fedora (not sure which version) and Ubuntu, one 8.04 and the other 9.04. If you have a recommendation of a specific OS which makes this task easy, then I would like to hear it, otherwise I am thinking of converting all of them into Ubuntu 9.04 as it is what I am the most familiar with.

  • You accidentally a word in the title. – 8jean May 28 '09 at 7:28

NIS is very simple to set up and integrates identities across unix or linux machines. Conceptually, it works by 'exporting' various files such as /etc/passwd or /etc/shadow (and various others). You set up the other computers to do their authentication through NIS. This means that identity and permissions are shared across any computer using NIS.

NIS is viewed as having security issues, so you wouldn't want it running on (for example) a public web server. However for a small network within a university it is probably OK. Note that many, many universities have had or still have large NIS/NFS implementations dating back to the days of Sun workstations.

  • 1
    NIS makes sense in legacy environments. If you're in a university environment using only modern systems, it makes sense to use LDAP. If you find important features of NIS that LDAP does not support, you should consider adding those features a more useful educational goal than learning how to maintain NIS. – carlito Jun 5 '09 at 1:37
  • Setting up and maintaining LDAP+SASL is much, much more complex than NIS. You can figure out how to set up a basic NIS from the HOWTO in a few hours. If the posster is not familiar with OpenLDAP he could spend a long time figuring how to get it working. – ConcernedOfTunbridgeWells Jun 5 '09 at 7:15

Look at FreeNAS it should do what you need it to. Just run freeNAS on the the computer that needs to share the data.

  • yes that would work with the description I gave, however, I am at fault of not explaining everything well enough. I need all computers to be capable of running the software such as Matlab and Fortran programs with full use of the processor and ram. Also, how would FreeNAS work with the users and security that I need? – Mike May 13 '09 at 23:20

Another similar solution would be using OpenFiler instead of FreeNAS. It might be a little bit much depending on exactly what you are trying to accomplish though. It would allow you to set up a datastore and control access to it however you would like. You could present it as an NFS or CIFS/Samba share. It would even allow you flexibility to later expand your storage, or even present disk to the remote systems over iSCSI.


Based on your edits and comments, I would suggest simply creating a specific mount point for your shared storage, and sharing it out using Samba. The other machines can mount the share and you would not need a corresponding set of UIDs and GIDs.

Although, if you wanted to restrict access to specific files/directories in any way, those users would need to exist on both/all systems.

As for having the same environment for each user no matter where they logged in, you could replicate their user profiles across all of the PCs either manually or through some sort of mundane scheduled task.

I would suggest something like LDAP, but that might be a bit overcomplicated given what you want to accomplish.

Try mounting your 1TB hard drive on the machine it belongs to, and playing with Samba.

  • +1 because OpenFiler is something I can use for another project I have. However, please see my comment for trent as to why this does not work as a solution for this problem. But OpenFiler looks awesome, so I thank you greatly for that suggestion. – Mike May 13 '09 at 23:23
  • I must not be understanding you, but, if you installed Freenas or OpenFiler on the machine which would be serving the data (the one with the 1TB hard drive in it), and mapping to a share presented by that server, how would that not fulfill your needs? You could run Openfiler on the computer to share the data, and the OS of your choice on the other machines. Do you need the machine with the shared drive also usable by a user? – WerkkreW May 13 '09 at 23:42
  • Exactly. I edited my question and commented on trent's answer to reflect that second before or after you submitted your answer. The third bullet is what I added. – Mike May 14 '09 at 3:31

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.