Changing file permissions
To change the permissions on a file, use the
(change mode) command, which has two formats, ``symbolic'' and
``absolute'', as follows:
chmod who operator permission filename
chmod mode filename
Using the first, symbolic, format, the who field is one or
more of the following characters:
The operator field is one of the following symbols:
all users; change all three sets of permissions at once
user; change the user, or owner, permissions
group; change the group members' permissions
others; change the other users' permissions
The following sample usages of chmod show a number of
symbolic permissions being set:
add a new permission
remove a new permission
set permissions while clearing (removing) all other permissions
You can also change permissions using their absolute numeric values,
by giving a three-digit octal number to specify the
permissions. This method is harder to use but less verbose.
$ chmod g+w memo
adds write permission for group members on the file memo.
$ chmod o-wx memo
removes write and execute permission for others (users other than
the owner or those in the file's group).
$ chmod o= memo
clears (removes) all permissions for other (setting a NULL
permission clears any existing value).
$ chmod u=rx memo
sets read and execute for user, clearing (removing) write
permission (which is not specified in the ``='' command.)
$ chmod a+w memo
adds write permission to the existing permissions for all
categories of user.
Using octal numbers to set permissions
Permission to execute a file is represented by a value of 1.
Permission to write a file is represented by a value of
2. Permission to read a file is represented by a value of 4. These
values are added together to produce the combinations in the table
Three octal numbers (numbers in the range 0 to 7) are used to
represent the owner, group and other permissions respectively.
Thus, by adding the permissions for a given category of user, you
produce a digit; and by specifying three digits (one for each set
of users) you can specify all the permissions on a file, as follows:
$ l myfile
-rw-r--r-- 1 johnd techpubs 5061 Feb 10 15:01 myfile
$ chmod 640 myfile
$ l myfile
-rw-r----- 1 johnd techpubs 5061 Feb 10 15:01 myfile
myfile originally possessed permissions 644. The ``6''
gives read and write permissions (2 plus 4) to users in the
specified group, while the ``4'' gives read permissions only. ``0''
gives no permissions at all. The effect of executing chmod
640 on this file was to deny all permissions to users of group
Setting the default permissions for a new file
Access control for files and directories
© 2003 Caldera International, Inc. All rights reserved.
SCO OpenServer Release 5.0.7 -- 11 February 2003