首先我们要了解文件或文件夹所具备的权限。

乌班图怎么解包system 乌班图chmod_Group


上图的文件或文件夹,所有拥有的权限如下表:

文件、文件夹

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具有读写权限,其他用户权限不变

修改之前,权限如下

乌班图怎么解包system 乌班图chmod_Linux_02

修改之后,权限如下

乌班图怎么解包system 乌班图chmod_Linux_03


代码:

sudo chmod u=+r+w-x 1

或者

sudo chmod u=+r+w 1

这两段代码效果相同

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

比如,现在我想使1.txt文件的所有用户具有相同的读写权限。(a = u,g,o )

修改之前:

乌班图怎么解包system 乌班图chmod_User_04

修改之后:

乌班图怎么解包system 乌班图chmod_Linux_05

代码:

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”权限

结果:

乌班图怎么解包system 乌班图chmod_Linux_06

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

sudo chmod 777 *

结果:

乌班图怎么解包system 乌班图chmod_乌班图怎么解包system_07

最后附上可选参数列表

参数

参数说明

-c

当发生改变时报告处理信息

-f

错误信息不输出

-R

处理指定目录及子目录下的所有文件

-v

运行时显示详细处理信息

例如:

sudo chmod -v 764 1.txt

结果

乌班图怎么解包system 乌班图chmod_用户权限_08