*nix Documentation Project
·  Home
 +   man pages
·  Linux HOWTOs
·  FreeBSD Tips
·  *niX Forums

  man pages->OpenBSD man pages -> chmod (1)              
Title
Content
Arch
Section
 

CHMOD(1)

Contents


NAME    [Toc]    [Back]

     chmod - change file modes

SYNOPSIS    [Toc]    [Back]

     chmod [-R [-H | -L | -P]] mode [file ...]

DESCRIPTION    [Toc]    [Back]

     The chmod utility modifies the file mode bits of the  listed
files as
     specified  by the mode operand.  The mode of a file dictates
its permissions,
 among other attributes.

     The options are as follows:

     -R      Recursively descend through any specified  directory
arguments.
             Change  the  modes of the file hierarchies rooted in
the files instead
 of just the files themselves.

     -H      If the -R option is also specified,  symbolic  links
on the command
             line  are  followed.  (Symbolic links encountered in
the tree
             traversal are not followed.)

     -L      If the -R option is  also  specified,  all  symbolic
links are followed.


     -P       If  the  -R  option  is also specified, no symbolic
links are followed.


     Symbolic links do not have modes, so unless the -H or -L option is set,
     chmod  on a symbolic link always succeeds and has no effect.
The -H, -L,
     and -P options are ignored unless the -R  option  is  specified.  In addition,
  these  options  override each other and the command's
actions are determined
 by the last one specified.

     Only the file's owner  or  the  superuser  is  permitted  to
change the mode of
     a file.

     The  chmod  utility exits 0 on success or >0 if an error occurred.

   Absolute modes    [Toc]    [Back]
     Absolute modes are specified according to the following format:

           chmod nnnn file [...]

     An  absolute  mode  is  an  octal number (specified as nnnn,
where n is a number
 from 0 to 7) constructed by ORing any of  the  following
values:

           0400    Allow read by owner.
           0200    Allow write by owner.
           0100     Allow execution (or search in directories) by
owner.
           0700    Allow read, write, and execute/search by  owner.
           0040    Allow read by group.
           0020    Allow write by group.
           0010     Allow execution (or search in directories) by
group.
           0070     Allow  read,  write,  and  execute/search  by
group.
           0004    Allow read by others.
           0002    Allow write by others.
           0001     Allow execution (or search in directories) by
others.
           0007    Allow read, write, and execute/search by  others.

     In addition to the file permission modes, the following mode
bits are
     available:

           4000    Set-user-ID on execution.
           2000    Set-group-ID on execution.
           1000    Enable sticky bit; see sticky(8) and chmod(2).

     The  execute bit for a directory is often referred to as the
``search''
     bit.  In order to access a file, a user  must  have  execute
permission in
     each directory leading up to it in the filesystem hierarchy.
For example,
 to access the file /bin/ls, execute permission is needed on /, /bin,
     and, of course, the ls binary itself.

   Symbolic modes    [Toc]    [Back]
     Symbolic modes are specified according to the following format:

           chmod <[who]op[perm]>,[[who]op[perm]],[...] file [...]

     The who symbols indicate whose permissions are to be changed
or assigned:

           u     User (owner) permissions.
           g     Group permissions.
           o     Others permissions.
           a     All of the above.

     Do not confuse the `o' symbol with ``owner''.  It is the user bit, `u',
     that refers to the owner of the file.

     The  op  symbols  represent the operation performed, as follows:

           +     If no value is supplied for perm, the `+' operation has no
                 effect.   If  no value is supplied for who, each
permission bit
                 specified in perm, for which  the  corresponding
bit in the
                 file  mode creation mask is clear, is set.  Otherwise, the
                 mode bits represented by the specified  who  and
perm values
                 are set.

           -     If no value is supplied for perm, the `-' operation has no
                 effect.  If no value is supplied for  who,  each
permission bit
                 specified  in  perm, for which the corresponding
bit in the
                 file mode creation mask is  clear,  is  cleared.
Otherwise, the
                 mode  bits  represented by the specified who and
perm values
                 are cleared.

           =     The mode bits specified by  the  who  value  are
cleared, or, if
                 no  who  value is specified, the user, group and
other mode
                 bits are cleared.  Then, if no value is supplied
for who,
                 each permission bit specified in perm, for which
the corresponding
 bit in the file mode creation  mask  is
clear, is set.
                 Otherwise,  the  mode  bits  represented  by the
specified who and
                 perm values are set.

     The perm (permission symbols) represent the portions of  the
mode bits as
     follows:

           r       Read bits.
           s        Set-user-ID  and  set-group-ID  on  execution
bits.
           t       Sticky bit.
           w       Write bits.
           x       Execute/search bits.
           X       The execute/search bits if the file is  a  directory or any
                   of  the  execute/search  bits  are  set in the
original (unmodified)
 mode.  Operations with the  perm  symbol
`X' are only
                   meaningful  in  conjunction with the op symbol
`+', and are
                   ignored in all other cases.
           u       User permission bits in the mode of the original file.
           g       Group permission bits in the mode of the original file.
           o       Other permission bits in the mode of the original file.

     Each  clause (given in a comma-delimited list on the command
line) specifies
 one or more operations to  be  performed  on  the  mode
bits, and each
     operation is applied in the order specified.

     Operations  upon the ``other'' permissions (specified by the
symbol `o' by
     itself), in combination with the perm symbols  `s'  or  `t',
are ignored.

EXAMPLES    [Toc]    [Back]

     $ chmod 644 file

     Set  file readable by anyone and writable by the owner only.

     $ chmod go-w file

     Deny write permission to group and others.

     $ chmod =rw,+X file

     Set the read and write permissions to  the  usual  defaults,
but retain any
     execute permissions that are currently set.

     $ chmod +X file

     Make  a  directory or file searchable/executable by everyone
if it is already
 searchable/executable by anyone.

     $ chmod 755 file
     $ chmod u=rwx,go=rx file
     $ chmod u=rwx,go=u-w file

     Any of these commands will make a  file  readable/executable
by everyone
     and writable by the owner only.

     $ chmod go= file

     Clear all mode bits for group and others.

     $ chmod g=u-w file

     Set  the  group  bits  equal to the user bits, but clear the
group write bit.

SEE ALSO    [Toc]    [Back]

      
      
     chflags(1),   chgrp(1),   find(1),   install(1),   chmod(2),
stat(2), umask(2),
     fts(3), setmode(3), symlink(7), chown(8), sticky(8)

STANDARDS    [Toc]    [Back]

     The  chmod  utility  is  expected  to  be  IEEE  Std  1003.2
(``POSIX.2'') compatible
 with the exception of the  perm  symbols  `t'  and  `X'
which are not included
 in that standard.

HISTORY    [Toc]    [Back]

     A chmod command appeared in Version 1 AT&T UNIX.

BUGS    [Toc]    [Back]

     There's no perm option for the naughty bits.

OpenBSD      3.6                          March      31,     1994
[ Back ]
 Similar pages
Name OS Title
pxfchmod IRIX Sets file modes for a named file
chattr Linux change file attributes on a Linux second extended file system
rename IRIX change the name of a file
rename OpenBSD change the name of a file
rename FreeBSD change the name of a file
rename NetBSD change the name of a file
rename HP-UX change the name of a file
rcs FreeBSD change RCS file attributes
lchmod NetBSD change mode of file
ftruncate Tru64 Change file length
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service