*nix Documentation Project
Title
Content
Arch
Section
chmod(1)							 chmod(1)

NAME [Toc]

 chmod - change the	permissions mode of a file or directory

SYNOPSIS [Toc]

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

DESCRIPTION [Toc]

 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
 rename(2)):
	 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]

	 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]


 ls(1), mount(1), umask(1),	chmod(2), unlink(2).
									PPPPaaaaggggeeee 4444
Similar pages
Copyright © 2004-2005 DeniX Solutions SRL

AltStyle によって変換されたページ (->オリジナル) /