linux chmod命令: 修改文件或目录的访问权限
介绍:
chmod用于改变文件或目录的访问权限。用户用它控制文件或目录的访问权限。该命令有两种用法。一种是包含字母和操作符表达式的文字设定法;另一种是包含数字的数字设定法。
语法:
#文字设定法: chmod [-cfvR] [who][ + | - | = ][mode] 文件名 #数字设定法: chmod [-cfvR] [mode] 文件名
选项介绍:
-c: 若该文件权限确实已经更改,才显示其更改动作;
-f: 若该文件权限无法被更改也不要显示错误讯息;
-v: 显示权限变更的详细资料;
-R: 对目前目录下的所有文件与子目录进行相同的权限变更(即以递回的方式逐个变更);
方法1.文字设定法
操作对象who可是下述字母中的任一个或者它们的组合:
u 表示“用户(user)”,即文件或目录的所有者。
g 表示“同组(group)用户”,即与文件属主有相同组ID的所有用户。
o 表示“其他(others)用户”。
a 表示“所有(all)用户”。
默认情况下who的值为a。
+ 添加某个权限。
- 取消某个权限。
= 赋予给定权限并取消其他所有权限。
设置mode所表示的权限可用下述字母的任意组合:
r 可读。
w 可写。
x 可执行。
注意
[who][ + | - | = ][mode]
这三个选项之间不能有空格。
方法2.数字设定法
文件权限有三个0-7的数字表示:
0表示没有权限,1表示可执行权限,2表示可写权限,4表示可读权限
所以:
755 = rwxr-xr-x
其中7=4+2+1=rwx, 5=4+1=r-x;
执行范例:
1 |
$ chmod a-x text.txt #取消text.txt文件的执行权限 |
2 |
$ chmod ugo -x text.txt #等价上一语句 |
3 |
$ chmod +x text.txt #等价上一语句 |
4 |
|
5 |
$ chmod u+w text.txt #添加用户写权限 |
6 |
$ chmod 755 text.txt |
7 |
$ chmod 744 text.txt |
扩展阅读:
linux文件权限简要介绍:
在linux中的每一个文件或目录都包含有访问权限,这些访问权限决定了谁能访问和如何访问这些文件和目录。
每一个用户都有它自身的读、写和执行权限。第一套权限控制访问自己的文件权限,即所有者权限。第二套权限控制用户组访问其中一个用户的文件的权限。第三套 权限控制其他所有用户访问一个用户的文件的权限,这三套权限赋予用户不同类型(即所有者、用户组和其他用户)的读、写及执行权限就构成了一个有9种类型的 权限组。
我们可以用-l参数的ls命令显示文件的详细信息
1 |
$ ls -l /etc/ passwd |
2 |
-rw-r--r-- 1 root root 4011 Jan 22 21:02 /etc/ passwd |