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

  man pages->IRIX man pages -> chmod (1)              


chmod(1)							      chmod(1)

NAME    [Toc]    [Back]

     chmod - change the	permissions mode of a file or directory

SYNOPSIS    [Toc]    [Back]

     chmod [-R]	mode file ...
     chmod [-R]	[ugoa]{+|-|=}[rwxXstl] file ...

DESCRIPTION    [Toc]    [Back]

     The permissions of	the named files	or directories are changed according
     to	mode, which may	be symbolic or absolute.  Absolute changes to
     permissions are stated using octal	numbers:

     chmod nnn file(s)

     where n is	a number from 0	to 7.  Symbolic	changes	are stated using
     mnemonic characters:

     chmod a operator b	file(s)

     where a is	one or more characters corresponding to	user, group, or	other;
     where operator is +, -, and =, signifying assignment of permissions; and
     where b is	one or more characters corresponding to	type of	permission.

     An	absolute mode is given as an octal number constructed from the OR of
     the following modes:

	  04000	    set	user ID	on execution
	  020#0	    set	group ID on execution if # is 7, 5, 3, or 1
		    enable mandatory locking if	# is 6,	4, 2, or 0
		    This applies only to regular files.	 See discussion	below
		    for	effect on directories.
	  01000	    sticky bit (see discussion below)
	  0400	    read by owner
	  0200	    write by owner
	  0100	    execute (search in directory) by owner
	  0070	    read, write, execute (search) by group
	  0007	    read, write, execute (search) by others

     Symbolic changes are stated using letters that correspond both to access
     classes and to the	individual permissions themselves.  Permissions	to a
     file may vary depending on	your user identification number	(UID) or group
     identification number (GID).  Permissions are described in	three
     sequences each having three characters:

	  User Group	 Other

	  rwx  rwx  rwx

     This example (meaning that	user, group, and others	all have reading,
     writing, and execution permission to a given file)	demonstrates two
     categories	for granting permissions:  the access class and	the

									Page 1

chmod(1)							      chmod(1)

     permissions themselves.

     Thus, to change the mode of a file's (or directory's) permissions using
     chmod's symbolic method, use the following	syntax for mode:

     [ who ] operator [	permission(s) ], ...

     A command line using the symbolic method would appear as follows:

     chmod g+rw	file(s)

     This command would	make file readable and writable	by the group.

     The who part can be stated	as one or more of the following	letters:

	  u	    user's permissions
	  g	    group's permissions
	  o	    others permissions

     The letter	a (all)	is equivalent to ugo.

     If	who is omitted,	the operation applies to all permissions except	those
     set in the	user's umask.

     Operator can be + to add permission to the	file's mode, - to take away
     permission, or = to assign	permission absolutely.	(Unlike	other symbolic
     operations, = has an absolute effect in that it resets all	other bits.)
     Omitting permission is only useful	with = to take away all	permissions.

     Permission	is any compatible combination of the following letters:
	  r	    reading permission
	  w	    writing permission
	  x	    execution permission
	  X	    execution permission (see below)
	  s	    user or group set-ID is turned on
	  t	    sticky bit is turned on
	  l	    mandatory locking will occur during	access

     When X appears in permission it is	identical to x if the target file is a
     directory,	or if the file is of any other type but	already	has at least
     one execution bit (user, group, or	other) set. In all other cases,	X is
     silently ignored.

     Multiple symbolic modes separated by commas may be	given, though no
     spaces may	intervene between these	modes.	Operations are performed in
     the order given.  Multiple	symbolic letters following a single operator
     cause the corresponding operations	to be performed	simultaneously.	 The
     letter s is only meaningful with u	or g, and t only works with u.

     Mandatory file and	record locking (l) refers to a file's ability to have
     its reading or writing permissions	locked while a program is accessing
     that file.	 It is not possible to permit group execution and enable a

									Page 2

chmod(1)							      chmod(1)

     file to be	locked on execution at the same	time.  In addition, it is not
     possible to turn on the set-group-ID and enable a file to be locked on
     execution at the same time.  The following	examples,

	  chmod	g+x,+l file(s)

	  chmod	g+s,+l file(s)

     are, therefore, illegal usages and	will elicit error messages.

     Only the owner of a file or directory (or the superuser) may change a
     file's mode.  In order to turn on a file's	set-group-ID, your own group
     ID	must correspond	to the file's, and group execution must	be set.

     If	a directory is writable	and the	sticky bit, (t), is set	on the
     directory,	a process may remove or	rename files within that directory
     only if one or more of the	following is true (see unlink(2) and

	  the effective	user ID	of the process is the same as that of the
	  owner	ID of the file

	  the effective	user ID	of the process is the same as that of the
	  owner	ID of the directory

	  the process is a superuser.

     Note that the group id of the process and file are	not taken into account
     by	the rules above.  A process will only be able to remove	a file in a
     sticky directory based upon its effective user ID,	not its	group ID.

     In	releases of IRIX before	6.2, a process could also remove or rename
     files within a directory with the sticky bit set if the process had write
     permission	for the	file.  This has	been changed in	accordance with	the
     X/Open XPG4.2 standard, but the old behavior can be enabled via the
     xpg4_sticky_dir kernel tunable variable.

     If	the sticky bit,	(t), is	set on a file that is a	dynamic	loader for an
     ELF executable, then when the executable is execed	the old	process's read
     only address spaces will be made available	to the dynamic loader in the
     new process.  This	can improve program start up time considerably.

     The setting of the	sticky bit on any other	file has no effect.

     If	the set-group-ID flag is set on	a directory, then files	created	in
     that directory will have their group ID set to the	group ID of the
     directory,	otherwise the group ID of the file is set to the effective
     group ID of the creating process (see chmod(2)].  The set-group-ID	flag
     can only be set on	a directory by using the symbolic mode:	that is,

									Page 3

chmod(1)							      chmod(1)

	  chmod	g+s directory

     mount(1) provides an alternate way	to set this behavior for an entire
     filesystem	(see mount(1) and fstab(4)].

     The -R option recursively descends	through	directory arguments, setting
     the mode for each file as described above.	 If a symbolic link is
     encountered whose target is a directory, the permission of	the directory
     is	changed.  That directory's contents are	not recursively	traversed.

EXAMPLES    [Toc]    [Back]

	  chmod	a-x file

	  chmod	444 file

     The first examples	deny execution permission to all.  The absolute
     (octal) example permits only reading permissions.

	  chmod	go+rw file

	  chmod	066 file

     These examples make a file	readable and writable by the group and others.

	  chmod	+l file

     This causes a file	to be locked during access.

	  chmod	=rwx,g+s file

	  chmod	2777 file

     These last	two examples enable all	to read, write,	and execute the	file;
     and they turn on the set group-ID.

SEE ALSO    [Toc]    [Back]

     ls(1), mount(1), umask(1),	chmod(2), unlink(2).

									PPPPaaaaggggeeee 4444
[ Back ]
 Similar pages
Name OS Title
chmod HP-UX change file mode access permissions
chmod HP-UX change file mode access permissions
fchmod HP-UX change file mode access permissions
chmod Linux change permissions of a file
permissions IRIX Change Permissions - Modify Permissions and Ownership of Files
chmod Linux change file access permissions
chmod Tru64 Change file access permissions
fchmod Tru64 Change file access permissions
cd_defs Tru64 sets or gets default values for the User or Group ID, or for file or directory permissions
chmod IRIX change mode of a file
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service