语法
chmod [OPTION]... MODE[,MODE]... FILE...
chmod [OPTION]... OCTAL-MODE FILE...
chmod [OPTION]... --reference=RFILE FILE...
主要用途
-
更改文件或目录的权限:添加或删除文件的读、写、执行权限,以控制谁可以对文件进行何种操作。
-
以符号模式或数字模式设置权限:符号模式(如 u+rwx
):使用符号来表示权限更改,u
表示所有者,g
表示所属组,o
表示其他用户,+
表示添加权限,-
表示删除权限,=
表示设置权限。数字模式(如 chmod 755 file.txt
):使用数字来表示权限,数字的组合代表了不同的权限组合,比如 7 表示读、写、执行权限,5 表示读和执行权限,0 表示没有权限。
-
递归修改目录及其子目录的权限:使用 -R
选项可以递归地更改目录及其内部文件的权限。
-
管理文件安全性和访问控制:chmod
可以帮助系统管理员限制或授权用户对文件和目录的访问权限,提高文件和系统的安全性。
-
管理可执行文件:对于可执行文件,chmod
可以控制谁可以运行它,对于脚本文件也可以设置是否可执行。
参数说明:
With --reference, change the mode of each FILE to that of RFILE.
-c, --changes like verbose but report only when a change is made
-f, --silent, --quiet suppress most error messages
-v, --verbose output a diagnostic for every file processed
--no-preserve-root do not treat '/' specially (the default)
--preserve-root fail to operate recursively on '/'
--reference=RFILE use RFILE's mode instead of MODE values
-R, --recursive change files and directories recursively
--help display this help and exit
--version output version information and exit
Each MODE is of the form '[ugoa]*([-+=]([rwxXst]*|[ugo]))+|[-+=][0-7]+'.
-c, --changes
: 仅在更改了文件的权限时显示消息。
-f, --silent, --quiet
: 不显示错误消息。
-v, --verbose
: 显示详细的输出,显示每个文件的权限更改信息。
-R, --recursive
: 递归地更改目录及其内部文件的权限。
u
表示文件所有者(user),g
表示用户组(group),o
表示其他用户(others),+
表示添加权限,-
表示去除权限,r
表示读权限,w
表示写权限,x
表示执行权限。
4
表示只读权限 (r
),2
表示写入权限 (w
),1
表示执行或访问权限 (x
)
实例
- chmod +x file.txt # 给文件添加执行权限
- chmod g+w,o+w file.txt # 给文件的所属组和其他用户添加写权限
- chmod -r file.txt # 删除文件的读权限
- chmod go-rwx file.txt # 删除文件的所属组和其他用户的所有权限
- chmod 755 file.txt # 设置文件所有者具有读、写、执行权限,所属组和其他用户具有读、执行权限
- chmod 644 file.txt # 设置文件所有者具有读、写权限,所属组和其他用户具有只读权限
- chmod -R 755 directory # 递归地将目录及其内部所有文件和子目录设置为指定权限
- chmod -v +x file.txt # 显示对文件添加执行权限的详细信息
- chmod -c -R 600 directory # 仅显示更改了权限的文件信息(递归修改目录权限)
分享到: