You will likely want to use revision control software for managing your shared project. See the git documentation here for more information about setting up a git repository.
mkdir /home/newhall/cs44_project chmod 700 /home/newhall/cs44_project
% easyfacl.py Enter a space separated list of users: newhall knerr tnas Enter a pathname (relative or full): cs44_project These commands will be entered setfacl -R -d -m user:newhall:rwX,user:knerr:rwX,user:tnas:rwX cs44_project setfacl -R -m user:newhall:rwX,user:knerr:rwX,user:tnas:rwX cs44_project Should I do this? (Y/n)y acls are set up press Return(see the note on the easyfacl.py page about setting acls on files you copy into your shared directory (vs. ones that are created in your shared directory))
# the + in the ls -l listing indicates that this directory has acls % ls -l drwxrwx---+ 2 newhall users 4096 Mar 5 13:20 cs44_project % getfacl cs44_project # file: cs44_project # owner: newhall # group: users user::rwx user:knerr:rwx user:newhall:rwx user:tnas:rwx group::--- mask::rwx other::--- default:user::rwx default:user:knerr:rwx default:user:newhall:rwx default:user:tnas:rwx default:group::--- default:mask::rwx default:other::---
Use the -b command line option to remove acls (-R is recursive):
% setfacl -R -b cs44_project % ls -l drwx------ 4 newhall users 4096 Mar 5 13:25 cs44_project # move it into my private stuff after my partner has made a copy of it % mv cs44_project ~/private/cs44/projectsee the man pages for acl and setfacl for more information on ACLs.
You can also remove an individual user's acls on directory by doing the following:
setfacl -R -x user:user_name dir_name setfacl -R -d -x user:user_name dir_namerun getfacl to check the results.
To create a group, email local-staff requesting that a group be created
for you and your partner. They will reply with your group name after
creating a group for you. Then using
chgrp set the group of
your shared directory to you and
your partner's group name, and use
chmod to set permissions
on your directories and files so that only your group can access them.
For shared directories your group likely needs read, write and execute
permission, and for shared files your group likely needs read and write
permissions set. Here is an example of setting permissions on a project
directory so that it is accessible to only you and the members of your group:
% ls -l drwx------ 4 newhall users 4096 Jul 18 10:47 projdir/ % chgrp mygroup projdir # change projdir's group id to mygroup % ls -l drwx------ 4 newhall mygroup 4096 Jul 18 10:47 projdir/ % chmod 770 projdir # set permissions so that only you and your group can access this directory % ls -l drwxrwx--- 4 newhall mygroup 4096 Jul 18 10:47 projdir/For more information about setting Unix file permissions see: chmod info