NAME
	  chmod, fchmod	-   Changes file access	permissions

     SYNOPSIS
	  #include <sys/mode.h>
	  #include <sys/types.h>
	  #include <sys/stat.h>
	  int chmod (
	       const char *path,
	       mode_t mode );
	  int fchmod (
	       int filedes,
	       mode_t mode );


     PARAMETERS
	  path	    Specifies the full pathname	of the file.  If the
		    path parameter refers to a symbolic	link, the
		    chmod() function changes access permissions	on the
		    file specified by the symbolic link.

	  filedes   Specifies the file descriptor of an	open file.

	  mode	    Specifies the bit pattern which determines the
		    access permissions.


     DESCRIPTION
	  The chmod() function sets the	access permissions of the file
	  specified by the path	parameter according to the bit pattern
	  specified by the mode	parameter.

	  The fchmod() function	sets the access	permissions of an open
	  file pointed to by the filedes parameter according to	the
	  bit pattern specified	by the mode parameter.

	  To change file access	permissions, the process must have the
	  same effective user ID as the	owner of the file or the pro-
	  cess must have superuser privilege.

	  Upon successful completion, the chmod() and fchmod() func-
	  tions	mark the st_ctime field	of the file for	update.

	  The mode parameter is	constructed by logically ORing one or
	  more of the following	values,	which are defined in the
	  sys/mode.h header file:


	  S_ISUID   Sets the process' effective	user ID	to the file's
		    owner on execution.

	  S_ISGID   Sets the process' effective	group ID to the	file's
		    group on execution.

	  S_ISVTX   Saves text image after execution.

	  S_IRWXU   Permits the	file's owner to	read, write, and exe-
		    cute it (or	to search the directory).

	  S_IRUSR   Permits the	file's owner to	read it.

	  S_IWUSR   Permits the	file's owner to	write to it.

	  S_IXUSR   Permits the	file's owner to	execute	it (or to
		    search the directory).

	  S_IRWXG   Permits the	file's group to	read, write, and exe-
		    cute it (or	to search the directory).

	  S_IRGRP   Permits the	file's group to	read it.

	  S_IWGRP   Permits the	file's group to	write to it.

	  S_IXGRP   Permits the	file's group to	execute	it (or to
		    search the directory).

	  S_IRWXO   Permits others to read, write, and execute it (or
		    to search the directory).

	  S_IROTH   Permits others to read the file.

	  S_IWOTH   Permits others to write to the file.

	  S_IXOTH   Permits others to execute the file (or to search
		    the	directory).


	  Other	mode values exist that can be set with the mknod()
	  function, but	not with the chmod() function.

	  If the mode bit S_ISGID is set and the mode bit S_IXGRP is
	  not set, mandatory file record locking will exist on a regu-
	  lar file.  This may affect subsequent	calls to other calls
	  on the file, including open(), creat(), read(), write(), and
	  truncate().

	  The S_ISGID bit of the file is cleared if:


	    o  The file	is a regular file.

	    o  The effective user ID of	the process does not have
	       appropriate system privilege.

	    o  The effective group ID or one of	the IDs	in the group
	       access list of the process does not match the file's
	       existing	group ID.


     NOTES
	  AES Support Level:
			 Full use (chmod())

			 Trial use (fchmod())


     RETURN VALUES
	  Upon successful completion, the chmod() and fchmod() func-
	  tions	return a value of 0 (zero). If the chmod() or fchmod()
	  function fails, a value of -1	is returned, and errno is set
	  to indicate the error.

     ERRORS
	  If the chmod() function fails, the file permissions remain
	  unchanged and	errno may be set to one	of the following
	  values:


	  [ENOTDIR] A component	of the path parameter is not a direc-
		    tory.

	  [ENOENT]  The	named file does	not exist or is	an empty
		    string.

	  [ENOENT]  A symbolic link was	named, but the file to which
		    it refers does not exist.

	  [EACCES]  A component	of the path parameter has search per-
		    mission denied.

	  [EPERM]   The	effective user ID does not match the ID	of the
		    owner of the file or the owner does	not have
		    appropriate	system privilege.

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

	  [EFAULT]  The	path parameter points to a location outside of
		    the	allocated address space	of the process.

	  [ESTALE]  The	process' root or current directory is located
		    in a virtual file system that has been unmounted.

	  [ELOOP]   Too	many symbolic links were encountered in
		    translating	the path parameter.

	  [ENAMETOOLONG]
		    The	length of the path argument exceeds PATH_MAX
		    or a pathname component is longer than NAME_MAX.

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


	  If the fchmod() function fails, the file permissions remain
	  unchanged and	errno may be set to one	of the following
	  values:


	  [EBADF]   The	file descriptor	filedes	is not valid.

	  [EROFS]   The	file referred to by filedes resides on a
		    read-only file system.

	  [EPERM]   The	effective user ID does not match the ID	of the
		    owner of the file, and the calling process does
		    not	have superuser privilege.

	  [ESTALE]  The	process' root or current directory is located
		    in a virtual file system that has been unmounted.

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


     RELATED INFORMATION
	  Functions: chown(2), fcntl(2), getgroups(2), mknod(2),
	  open(2), read(2) setgroups(2)	truncate(2) write(2)

	  Commands: chmod(1)



















Acknowledgement and Disclaimer