All rights reserved. The Berkeley software License Agreement
specifies the terms and conditions for redistribution.
@(#)chmod.2 6.5 (Berkeley) 5/13/86
#include <sys/types.h> #include <sys/stat.h> int chmod(const char *path, mode_t mode)int fchmod(int fd, mode_t mode) ..
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.
15 [ENOTDIR] A component of the path prefix is not a directory.
15 [ENAMETOOLONG] The path name exceeds PATH_MAX characters.
15 [ENOENT] The named file does not exist.
15 [EACCES] Search permission is denied for a component of the path prefix.
15 [ELOOP] Too many symbolic links were encountered in translating the pathname. (Minix-vmd)
15 [EPERM] The effective user ID does not match the owner of the file and the effective user ID is not the super-user.
15 [EROFS] The named file resides on a read-only file system.
15 [EFAULT] Path points outside the process's allocated address space.
15 [EIO] An I/O error occurred while reading from or writing to the file system.
Fchmod will fail if:
15 [EBADF] The descriptor is not valid.
15 [EROFS] The file resides on a read-only file system.
15 [EIO] An I/O error occurred while reading from or writing to the file system. ..