Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ () — Motorola System V 88k Release 3.2 Version 1.2C

Media Vault

Software Library

Restoration Projects

Artifacts Sought



  CHMOD(2)                                                 CHMOD(2)



  NAME
       chmod - change mode of file

  SYNOPSIS
       int chmod (path, mode)
       char *path;
       int mode;

  DESCRIPTION
       Path points to a path name naming a file.  chmod sets the
       access permission portion of the named file's mode according
       to the bit pattern contained in mode.

       Access permission bits are interpreted as follows:

      04000   Set user ID on execution.
      020#0   Set group ID on execution if # is 7, 5, 3, or 1
              Enable mandatory file/record locking if # is 6, 4, 2, or 0
      01000   Save text image  after execution.
      00400   Read by owner.
      00200   Write by owner.
      00100   Execute (search if a directory) by owner.
      00070   Read, write, execute  (search) by group.
      00007   Read, write, execute  (search) by others.

       The effective user ID of the process must match the owner of
       the file or be super-user to change the mode of a file.

       If the effective user ID of the process is not super-user
       and the file is not a directory, mode bit 01000 (save text
       image on execution) is cleared.

       If the effective user ID of the process is not super-user
       and the effective group ID of the process does not match the
       group ID of the file, mode bit 02000 (set group ID on
       execution) is cleared.

       If a 410 executable file has the sticky bit (mode bit 01000)
       set, the operating system will not delete the program text
       from the swap area when the last user process terminates.


  Page 1                                                   May 1989


















  CHMOD(2)                                                 CHMOD(2)



       If a 413 executable file has the sticky bit set, the
       operating system will not delete the program text from
       memory when the last user process terminates.  In either
       case, if the sticky bit is set the text will already be
       available (either in a swap area or in memory) when the next
       user of the file executes it, thus making execution faster.

       If the executing process is not owned by the super-user,
       chmod will mask the sticky-bit but will not return an error.

       If a directory is writable and has the sticky bit set, files
       within that directory can be removed only if one or more of
       the following is true (see unlink(2)):

            the user owns the file
            the user owns the directory
            the file is writable by the user
            the user is the super-user

       If the mode bit 02000 (set group ID on execution) is set and
       the mode bit 00010 (execute or search by group) is not set,
       mandatory file/record locking will exist on a regular file.
       This may effect future calls to open(2), creat(2), read(2),
       and write(2) on this file.

       chmod will fail and the file mode will be unchanged if one
       or more of the following are true:

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

       [ENOENT]       The named file does not exist.

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

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



  Page 2                                                   May 1989


















  CHMOD(2)                                                 CHMOD(2)



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

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

       [EINTR]        A signal was caught during the chmod system
                      call.

       [ENOLINK]      Path points to a remote machine and the link
                      to that machine is no longer active.

       [EMULTIHOP]    Components of path require hopping to
                      multiple remote machines.

  SEE ALSO
       chown(2), creat(2), fcntl(2), mknod(2), open(2), read(2),
       write(2).
       chmod(1) in the User's Reference Manual.

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


















  Page 3                                                   May 1989
















Typewritten Software • bear@typewritten.org • Edmonds, WA 98026