Ubuntu权限分配(chmod命令)

首先我们要了解文件或文件夹所具备的权限。
Ubuntu权限分配(chmod命令)_第1张图片
上图的文件或文件夹,所有拥有的权限如下表:

文件、文件夹 User Group Other
1 rwx rw- r–
1.txt rwx rw- r–

注:
User,即文件或目录的拥有者
Group,即文件或目录的所属群组
Other,除了文件或目录拥有者和所属群组外,其他用户都属于这个范围

r:读取权限
w:写入权限
x:执行权限
-:不具备该项权限

所以,我们结合表得出,1是一个文件夹,User具有读、写、执行的权限;Group具有读、写的权限,不具备执行权限;Other具有读的权限,不具备写、执行权限。

ubuntu是通过chmod命令来修改用户权限的,语法如下:

chmod [-可选参数][<权限范围>+/-/=<权限设置>] 文件/目录

chmod的用法分为两种:

  1. 修改某类用户的权限
    语法如下:
chmod [ u / g / o / a ] [ + / - / = ] [ r / w / x ] file

权限范围
u:指的是上文中提到的 “User,即文件或目录的拥有者 ”
g:指的是上文中提到的“”
o:指的是上文中提到的“”
a:指的是 u、g、o (主要的作用:设置它们具有相同的权限)

权限操作
+表示增加权限
-表示取消权限
=表示取消之前的权限,并重新赋予权限

权限代号
r:读取权限,数字代号为 “4”
w:写入权限,数字代号为 “2”
x:执行权限,数字代号为 “1”
-:不具备任何权限,数字代号为 “0”

比如说我想要把文件夹1的权限修改为User具有读写权限,其他用户权限不变
修改之前,权限如下
Ubuntu权限分配(chmod命令)_第2张图片

修改之后,权限如下
Ubuntu权限分配(chmod命令)_第3张图片
代码:

sudo chmod u=+r+w-x 1

或者

sudo chmod u=+r+w 1

这两段代码效果相同

可以把+理解为添加操作,-理解为去除操作

比如,现在我想使1.txt文件的所有用户具有相同的读写权限。(a = u,g,o )
修改之前:
Ubuntu权限分配(chmod命令)_第4张图片

修改之后:
Ubuntu权限分配(chmod命令)_第5张图片

代码:

sudo chmod a=rw 1.txt

sudo chmod u=rw,g=rw,o=rw 1.txt
  1. 同时修改3类用户的权限
    语法:
chmod [xyz] file

其中x,y,z分别指定User、Group、Other的权限;用三位二进制数表示 ” r , w , x”(注意顺序)三种权限,其中 0 代表没有该权限,1 代表有该权限,如 100 则表示,有 ‘r”权限,无 “w x”权限;再将这个三位的二进制数转为十进制,则是 x (或y,z)的值

0:表示无任何权限
1:表示"x"
2:表示"w"
4:表示"r"

具体表示方法,如下表 :

数字 所拥有的权限
0
1 x
2 w
3 wx
4 r
5 rx
6 rw
7 rwx

例如:

sudo chmod 047 1.txt

User = 0 :表示无任何权限
Group = 4 :表示拥有“r”权限(仅有r的权限,而五w、x的权限)
Other = 7 :表示拥有“rwx”权限

结果:
Ubuntu权限分配(chmod命令)_第6张图片

” * ” 为通配符,表示对当前所在目录下的所有文件做权限修改操作

sudo chmod 777 *

结果:
Ubuntu权限分配(chmod命令)_第7张图片

最后附上可选参数列表

参数 参数说明
-c 当发生改变时报告处理信息
-f 错误信息不输出
-R 处理指定目录及子目录下的所有文件
-v 运行时显示详细处理信息

例如:

sudo chmod -v 764 1.txt

结果
Ubuntu权限分配(chmod命令)_第8张图片

你可能感兴趣的:(Ubuntu)