Server Fault is a question and answer site for system and network administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

so every user has a home folder.

but where do we put all shared files for a project?


share|improve this question
up vote 2 down vote accepted

Doesn't really matter, though I myself (and a lot of other people) tend to put things in /usr/local/projectname. Just set up a group, chown that directory to the group, and put all the people who are working on the project in that group.

Really though, you should be using a source code repository such as CVS or Subversion when you're developing the code. It's much better than a shared directory.

share|improve this answer
i am using svn=) but for other files, it could be good to have a shared folder to access through the web. – ajsie Apr 7 '10 at 13:44

Wherever you like :)

Seriously, I create a group folder which is accessible by members of a particular group working on a project.

share|improve this answer
but users are chained in their home directory. how do i make it available for them? – ajsie Apr 7 '10 at 13:37
Please explain to us why they are chained to their $HOME? Are you talking about FTP or chroots? – Fladi Apr 7 '10 at 13:40
i thought that regular users cant go outside there home folder? am i mistaking? so they can "cd" everywhere? isnt that a security problem? – ajsie Apr 7 '10 at 13:43
No, if the system is configured in a sensible matter, it is not, as users are not allowed to do anything harmful for the system. For instance, you can change into /etc as normal user but are not allowed to read /etc/shadow with the passwords except you are root. – Sven Apr 7 '10 at 13:53
One important reason is: You can't just restrict access to configuration files or binaries, or otherwise you couldn't use them. For instance, whenever you do an ls -l to list a directory with full usernames, the system will lookup the numerical uid it reads from the file system in /etc/passwd to give a name to that. This wouldn't be possible if the user couldn't read the file (contrary to it's name, this file doesn't hold any passwords). You couldn't even do the ls, because this is a binary for which you need the right to read and execute it in order to run it. – Sven Apr 7 '10 at 14:15

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

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