This might be a silly question, but with my inexperience I am not sure where to start looking.

I want a file server that would first authenticate a user and check that the user is permitted to access the specific file he/she is looking for before serving the file through some secure method (e.g. FTPS).

What software and/or technologies should I look into? I imagined such a setup might be called an "access restricted file server", but Googling the expression has not been very fruitful.

This is for a hobby so I don't have a very large budget. I have a reasonably modern laptop running Ubuntu that I could dedicate for this purpose. On the other hand, I don't want to rule out web services like Google App Engine etc.


Sounds like you're looking for a NAS (Network Attached Storage)

You can buy pre-built ones from companies such as Netgear (Ready NAS) but this road is generally expensive.

You can also build one yourself using old parts- NASs don't require the latest and greatest parts, I have mine running on an old 1996 Compaq box with 512MB of RAM- I only had to buy a network card and a RAID card for it (plus hard drives).

There are a few software solutions out there as well, my weapon of choice is freeNAS http://www.freenas.org/ which is based on FreeBSD. It has a web interface to configure it making it nice and easy.

As for security, freeNAS allows you to configure users and groups and assign permissions accordingly. It also has a lot of services pre-configured (FTP,CIFS etc) which you add a 'share' folder to and then literally 'flick on'.

As an example I have two users, one for me, and one named 'Everyone'. I set them up in FreeNAS (with a reboot for sanity's sake), Add a CIFS share, enable the CIFS service, and on a windows box I open an explorer window, navigate to the NAS's local ip address, and double click on the share folder that shows up. I am then prompted for a username/password. If I log in as 'Everyone' I only have read access, or if I log in as me, I have read/write.

I hope this is enough to get you started!

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

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