CHMOD.2
资源名称:os_source.zip [点击查看]
上传用户:datang2001
上传日期:2007-02-01
资源大小:53269k
文件大小:3k
源码类别:
操作系统开发
开发平台:
C/C++
- CHMOD(2) Minix Programmer's Manual CHMOD(2)
- NAME
- chmod - change mode of file
- SYNOPSIS
- #include <sys/types.h>
- #include <sys/stat.h>
- int chmod(const char *path, mode_t mode)
- DESCRIPTION
- The file whose name is given by path has its mode changed to mode. Modes
- are constructed by or'ing together some combination of the following,
- defined in <sys/stat.h>:
- 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.
- RETURN VALUE
- Upon successful completion, a value of 0 is returned. Otherwise, a value
- of -1 is returned and errno is set to indicate the error.
- 4BSD May 13, 1986 1
- CHMOD(2) Minix Programmer's Manual CHMOD(2)
- ERRORS
- Chmod will fail and the file mode will be unchanged if:
- [ENOTDIR] A component of the path prefix is not a directory.
- [ENAMETOOLONG] The path name exceeds PATH_MAX characters.
- [ENOENT] The named file does not exist.
- [EACCES] Search permission is denied for a component of the path
- prefix.
- [ELOOP] Too many symbolic links were encountered in translating
- the pathname. (Minix-vmd)
- [EPERM] The effective user ID does not match the owner of the file
- and the effective user ID is not the super-user.
- [EROFS] The named file resides on a read-only file system.
- [EFAULT] Path points outside the process's allocated address space.
- [EIO] An I/O error occurred while reading from or writing to the
- file system.
- SEE ALSO
- chmod(1), open(2), chown(2), stat(2).
- NOTES
- The sticky bit was historically used to lock important executables into
- memory.
- 4BSD May 13, 1986 2