文章目录
- 1. chmod 命令说明
- 2. chmod 命令语法
- 3. chmod 命令示例
- 3.1 使用数字赋权
- 3.2 使用字母赋权
- 3.3 -R(一起修改子目录)
- 4. 总结
1. chmod 命令说明
chmod:为文件或文件夹赋予权限。Linux-文件或目录权限。基本信息如下:
Usage: chmod [OPTION]... MODE[,MODE]... FILE...
or: chmod [OPTION]... OCTAL-MODE FILE...
or: chmod [OPTION]... --reference=RFILE FILE...
Change the mode of each FILE to MODE.
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]+'.
GNU coreutils online help: <http://www.gnu.org/software/coreutils/>
For complete documentation, run: info coreutils 'chmod invocation'
基本参数如下:
选项 | 作用 |
---|---|
-c | 权限改变才生效 |
-f | 权限即使变更失败也不显示错误信息 |
-v | 显示权限变更详细信息 |
-R | 递归变更文件夹下所有文件、子目录权限 |
2. chmod 命令语法
chmod [选项] 权限 文件
3. chmod 命令示例
3.1 使用数字赋权
选项 | 作用 |
---|---|
r | 读权限,4 表示 |
w | 写权限,2 表示 |
x | 执行权限,1 表示 |
- | 无权限,0 表示 |
因为是三个一组,所以范围为 000-777
[root@localhost aaa]# ll
total 0
-rw-r--r--. 1 root root 0 May 17 08:52 a.txt
drwxr-xr-x. 2 root root 6 May 17 08:52 bbb
[root@localhost aaa]# chmod 755 a.txt
[root@localhost aaa]# chmod 755 a.txt
[root@localhost aaa]# ll
total 0
-rwxr-xr-x. 1 root root 0 May 17 08:52 a.txt
drwxr-xr-x. 2 root root 6 May 17 08:52 bbb
[root@localhost aaa]#
以 a.txt 的权限为例,
rw-r–r-- :3个为一组,可以分成 rw-/r–/r–,分别表示用户、用户组、其他用户权限,用数字表示即为 644。
chmod 将 a.txt 权限改为 755,即变成了rwxr-xr-x 。
3.2 使用字母赋权
选项 | 作用 |
---|---|
u | user,文件所有者 |
g | group,文件所有者所在组 |
o | others,文件其他用户 |
a | all,所有用户 |
另外需配合操作符
选项 | 作用 |
---|---|
+ | 增加权限 |
- | 去除权限 |
= | 设置权限,即重新设置 |
举例,为其他用户新增写权限
chmod o+w a.txt
也可以多个权限一起赋予
chmod u-x,g=wr,o=r a.txt
[root@localhost aaa]# ll
total 0
-rwxr-xr-x. 1 root root 0 May 17 08:52 a.txt
drwxr-xr-x. 2 root root 6 May 17 08:52 bbb
[root@localhost aaa]# chmod o+w a.txt
[root@localhost aaa]# ll
total 0
-rwxr-xrwx. 1 root root 0 May 17 08:52 a.txt
drwxr-xr-x. 2 root root 6 May 17 08:52 bbb
[root@localhost aaa]# chmod u-w a.txt
[root@localhost aaa]# ll
total 0
-r-xr-xrwx. 1 root root 0 May 17 08:52 a.txt
drwxr-xr-x. 2 root root 6 May 17 08:52 bbb
[root@localhost aaa]# chmod u-x,g=wr,o=r a.txt
[root@localhost aaa]# ll
total 0
-r--rw-r--. 1 root root 0 May 17 08:52 a.txt
drwxr-xr-x. 2 root root 6 May 17 08:52 bbb
[root@localhost aaa]#
3.3 -R(一起修改子目录)
不加 -R 时,文件夹下的文件及文件夹不会改变
[root@localhost aaa]# ll
total 0
-r--rw-r--. 1 root root 0 May 17 08:52 a.txt
dr-xr-xr-x. 3 root root 30 Jun 3 12:44 bbb
[root@localhost aaa]# cd bbb
[root@localhost bbb]# ll
total 0
-rw-r--r--. 1 root root 0 Jun 3 12:44 1.txt
drwxr-xr-x. 2 root root 6 Jun 3 12:38 ccc
[root@localhost bbb]# cd ..
[root@localhost aaa]# chmod 666 bbb/
[root@localhost aaa]# ll
total 0
-r--rw-r--. 1 root root 0 May 17 08:52 a.txt
drw-rw-rw-. 3 root root 30 Jun 3 12:44 bbb
[root@localhost aaa]# cd bbb/
[root@localhost bbb]# ll
total 0
-rw-r--r--. 1 root root 0 Jun 3 12:44 1.txt
drwxr-xr-x. 2 root root 6 Jun 3 12:38 ccc
[root@localhost bbb]#
当使用此参数时,会将文件夹中子文件的权限一起修改
[root@localhost aaa]# ll
total 0
-r--rw-r--. 1 root root 0 May 17 08:52 a.txt
drw-rw-rw-. 3 root root 30 Jun 3 12:44 bbb
[root@localhost aaa]# chmod -R 777 bbb/
[root@localhost aaa]# cd bbb/
[root@localhost bbb]# ll
total 0
-rwxrwxrwx. 1 root root 0 Jun 3 12:44 1.txt
drwxrwxrwx. 2 root root 6 Jun 3 12:38 ccc
[root@localhost bbb]#
4. 总结
chmod:用于改变文件及文件夹权限,可通过数字或字母(配合操作符)操作。