CU Home
Columbia University Information Technology
Managing UNIX Groups

Web Design > Managing UNIX Groups

How to Share Web Files or, the Basics of the UNIX 'Groups' Function

To allow more than one person to make modifications to your Web site, it is necessary to set up a "group." The creation of your group and the addition and removal of members must be done through your CUNIX account via SSH.

Creating the Group

Use group -c at the UNIX prompt ($).

$ group -c groupname

groupname is a name you choose for your group. In order to display your groupname completely when listing files, it is suggested that you choose a groupname that is eight characters or fewer. For example, if you chose the name ourgroup as your groupname, you would type the following at the UNIX prompt:

$ group -c ourgroup

First, add yourself to the group by typing:

$ group -m groupname userid

At this point, you will be the sole group owner (since you created the group), meaning that only you can add and remove members from the group. To add other group owners, type:

$ group -o groupname userid

Likewise to remove a group owner, type

$ group -O groupname userid

Note: There is a capital 'O' in the above command.

Adding and Removing Members

Add others' IDs in the same way as explained above. For example,

$ group -m ourgroup svl2
$ group -m ourgroup gd17

Likewise, to remove an ID's privileges, type

$ group -M ourgroup svl2 (note the capital 'M')

Type group -i groupname to show the members of the group as well as other information about the group. For example:

$ group -i ourgroup

Note: The new group will not take effect until the next time you log in.

For more details, simply type group with no arguments at the $ prompt. If you are familiar with unix, you may note that this is a non-standard group command. Ours offers the functionality of multiple group owners but does not have password-protected groups or public groups. We changed from the 'classic' group command in June 2004.

Put Files and/or Directories in the Group

At the UNIX prompt ($) type chgrp -R groupname . from within the directory you want to add to the group. This will add the directory itself as well as all files in that directory. Note the period (.) at the end of this command. For example:

$ cd /www/data/cu/directory
$ chgrp -R ourgroup .

Ensure that New Files Added Later Will Be Owned by Your Group

To force new files uploaded to a directory to have the same group designation as the directory, you must "turn the sticky bit on." For a particular directory type:

$ chmod g+s directory-name

where directory-name is, of course, the name of a directory.

If you need to turn on the sticky bit for your top level directory and all of directories beneath it, change directories to your top level web directory,

$ cd public_html

or if you are managing a web site on the central servers, for example the Art History site,

$ cd /www/data/cu/arthistory

Then type

$ find . -type d -exec chmod g+s {} \;

Change file protections

To allow your group to change the files you've added to the group, it is necessary to change the protection to allow any kind of group access. Type the following at the UNIX prompt ($) within the file's directory: chmod -R g+rwX  . (note the period [.] at the end of this command). It is necessary to type this verbatim as UNIX is case-sensitive. For example:

$ cd /www/data/cu/directory
$ chmod -R g+rwX  .

To allow others to read group's Web files, use the standard UNIX chmod command. For example:

$ chmod a+rX filename

Or, to allow all the files in a directory to be world-readable, use the UNIX wildcard asterisk (*):

$ chmod a+rX *

To check whether the file protections are changed correctly, use the ls command as follows:

$ ls -lag

You should see the following, for example:

-rw-rw-r-- 1 svl2 ourgroup 5183 Apr 7 16:12 test.html

The r's and w's at the left mean the file is readable and writeable by the owner (first set of rw) and the group (second set of rw), and readable by anyone (last r).

If you and the members of your group are using an ftp client (such as Fetch or WS_FTP), refer to our File Transfer documentation for help on configuring your file transfer program to set the right group and permissions automatically.


« Back to Managing Access


Related Links
Setting Permissions
Using FTP
Enough UNIX for your Résumé