Minix Man Pages

Man Page or Keyword Search:
Man Architecture
Apropos Keyword Search (all sections) Output format
home | help
CHMOD(2)                      System Calls Manual                     CHMOD(2)

NAME
       chmod, fchmod - change mode of file

SYNOPSIS
       #include <sys/types.h>
       #include <sys/stat.h>

       int chmod(const char *path, mode_t mode)

DESCRIPTION
       The  file  whose  name  is  given by path has its mode changed to mode.
       Modes are constructed  by  or'ing  together  some  combination  of  the
       following, defined in _sys/stat.h_:

              S_ISUID  04000   set user ID on execution
              S_ISGID  02000   set group ID on execution
              S_ISVTX  01000   `sticky bit' (see below)
              S_IRWXU  00700   read, write, execute by owner
              S_IRUSR  00400   read by owner
              S_IWUSR  00200   write by owner
              S_IXUSR  00100   execute (search on directory) by owner
              S_IRWXG  00070   read, write, execute by group
              S_IRGRP  00040   read by group
              S_IWGRP  00020   write by group
              S_IXGRP  00010   execute (search on directory) by group
              S_IRWXO  00007   read, write, execute by others
              S_IROTH  00004   read by others
              S_IWOTH  00002   write by others
              S_IXOTH  00001   execute (search on directory) by others

       If mode ISVTX (the `sticky bit') is set on a directory, an unprivileged
       user may not delete or rename files of other users in  that  directory.
       (Minix-vmd)

       Only the owner of a file (or the super-user) may change the mode.

       Writing  or  changing the owner of a file turns off the set-user-id and
       set-group-id bits unless the user is the super-user.   This  makes  the
       system  somewhat  more  secure by protecting set-user-id (set-group-id)
       files from remaining set-user-id (set-group-id) if they  are  modified,
       at the expense of a degree of compatibility.

RETURN VALUE
       Upon  successful  completion,  a  value of 0 is returned.  Otherwise, a
       value of -1 is returned and errno is set to indicate the error.

ERRORS
       Chmod will fail and the file mode will be unchanged if:

       [ENOTDIR]      A component of the path prefix is not a directory.

       [ENAMETOOLONG] The path name exceeds PATH_MAX characters.

       [ENOENT]       The named file does not exist.

       [EACCES]       Search permission is denied for a component of the  path
                      prefix.

       [ELOOP]        Too  many symbolic links were encountered in translating
                      the pathname.  (Minix-vmd)

       [EPERM]        The effective user ID does not match the  owner  of  the
                      file and the effective user ID is not the super-user.

       [EROFS]        The named file resides on a read-only file system.

       [EFAULT]       Path  points  outside  the  process's  allocated address
                      space.

       [EIO]          An I/O error occurred while reading from or  writing  to
                      the file system.

SEE ALSO
       chmod(1), open(2), chown(2), stat(2).

NOTES
       The sticky bit was historically used to lock important executables into
       memory.

4th Berkeley Distribution        May 13, 1986                         CHMOD(2)

NAME | SYNOPSIS | DESCRIPTION | RETURN VALUE | ERRORS | SEE ALSO | NOTES