Linux权限设置 chmod的用法(十位权限用法)

Linux的文件权限有以下设定:

Linux下文件的权限类型一般包括读,写,执行。对应字母为 r、w、x

Linux下权限的属组有所有者 、群组 、其它组 三种。每个文件都可以针对这三个属组(粒度),设置不同的rwx(读写执行)权限。

通常情况下,一个文件只能归属于一个用户和组, 如果其它的用户想有这个文件的权限,则可以将该用户加入具备权限的群组,一个用户可以同时归属于多个组。

如果我们要表示一个文件的所有权限详情,有两种方式:

第一种是十位二进制表示法 ,(三个属组的每个权限使用一个二进制位,再加一个最高位共十位),可简化为三个八进制数字形式(如 755)

另外一种十二位二进制表示法(十二个二进制位),可简化为四个八进制数字形式(如4755)

**

十位权限表示

**
常见的权限表示形式有:

-rw------- (600) 只有所有者有读写权限。

-rw-r–r-- (644) 只有所有者有读写权限,而群组用户和其他用户只有读权限。

-rwx------ (700) 只有所有者有读、写、执行权限。

-rwxr-xr-x (755) 所有者有读、写、执行权限;而群组用户和其他用户只有读、执行权限。

-rwx–x--x (711) 所有者有读、写、执行权限;而群组用户和其他用户只有执行权限。

-rw-rw-rw- (666) 所有用户都有文件读、写权限。

-rwxrwxrwx (777) 所有用户都有读、写、执行权限。

后九位解析: Linux权限总共有三个属组,这里我们给每个属组使用三个位置来定义三种操作(读、写、执行)权限,合起来则是权限的后九位。 上面我们用字符表示权限,其中 -代表无权限,r代表读权限,w代表写权限,x代表执行权限。(后九位的前3位对应拥有者权限、4-6位对应群组权限、7-9对应其他组权限)

实际上,后九位每个位置的意义(代表某个属组的某个权限)都是固定的,如果我们将各个位置权限的有无用二进制数 1和 0来代替,则只读、只写、只执行权限,可以用三位二进制数表示为

r-- = 100
-w- = 010
–x = 001
— = 000

转换成八进制数,则为 r=4, w=2, x=1, -=0(这也就是用数字设置权限时为何是4代表读,2代表写,1代表执行)

实际上,我们可以将所有的权限用二进制形式表现出来,并进一步转变成八进制数字:

rwx = 111 = 7
rw- = 110 = 6
r-x = 101 = 5
r-- = 100 = 4
-wx = 011 = 3
-w- = 010 = 2
--x = 001 = 1
--- = 000 = 0

由上可以得出,每个属组的所有的权限都可以用一位八进制数表示,每个数字都代表了不同的权限(权值)。如 最高的权限为是7,代表可读,可写,可执行。

故如果我们将每个属组的权限都用八进制数表示,则文件的权限可以表示为三位八进制数

-rw------- = 600
-rw-rw-rw- = 666
-rwxrwxrwx = 777

关于第一位最高位的解释: 上面我们说到了权限表示中后九位的含义,剩下的第一位代表的是文件的类型,类型可以是下面几个中的一个:

d 代表目录(directroy)
- 代表文件(regular file)
s 代表套字文件(socket)
p 代表管道文件(pipe)或命名管道文件(named pipe)
l 代表符号链接文件(symbolic link)
b 代表该文件是面向块的设备文件(block-oriented device file)
c 代表该文件是面向字符的设备文件(charcter-oriented device file)

(举例)修改文件权限

chmod XXX 文件名  
chmod u+r 文件名

第一条命令中XXX即三位8进制数;
第二条命令中u表示User,类似的,g代表Group,o代表Others,+表示添加权限,如果把+换成-就是删除权限,后面的r表示Read权限。

在这里插入图片描述
上图用ls -l 文件名来查看文件a的权限
前面十位是权限-rwxr-xr-x根据之前的知识,知道用数字表达就是755了。

在这里插入图片描述
上图用前面说的第一条命令修改权限,可以看到修改后变成了-rwxrwxrwx

在这里插入图片描述

用第二条命令修改权限,可以看到把User,Group,Others中的Write权限都删除了(等同于chmod 555 a)。

补充:ls -l a 结果分析

前面说过了显示结果的

-r-xr-xr-x   #第一段

第一段表示的是权限。
第二段表示文件硬链接数。

1  #第二段

第二段的值为1,如果是文件,说明这个文件a只有a这一个文件名。即只有一个指向该链接的硬链接。

如果使用ln,做一个指向该文件的硬链接再查看该文件,该文件的第2字段就会变成2
在这里插入图片描述

在这里插入图片描述
此时a和ai称为互为硬链接。他们指向同一个文件,无论是修改哪一个文件,另一个里也做相应的变化,因为实际上他们指向同一个文件(即同一文件的不同文件名)互为硬链接的文件具有相同的文件节点。

如果是一个目录,则第2字段表示该目录所含子目录的个数。新建一个空目录,这个目录的第二字段就是2,表示该目录下有两个子目录。为什么新建的目录下面会有两个子目录呢?因为每一个目录都有一个指向它本身的子目录" 和"指向它上级目录的子目录",这两个默认子目录是隐藏的。每次在目录下新建一个子目录,该目录第2字段的值就增1,但是新建一个普通文件该字段值不增加。

第三段表示文件(目录)拥有者

root #第三段

第四段表示文件(目录)拥有者所在的组

root #第四段

一个用户可以加入很多个组,但是其中有一个是主组,就是显示在第四段的名称。

可以在useradd的时候用-g指定该用户所在的主组,用-G指定其他组

格式如下:Useradd –g 组名 用户名

第五段表示文件所占用的空间(单位为字节)
在这里插入图片描述

16696 #第五段

如果是一个文件夹(目录),则表示该文件夹的大小。注意是文件夹本身的大小,而不是文件夹以及它下面的文件的总大小。

第六段表示文件(目录)最近访问(修改)时间

11月  6 15:26 #第六段

第七段是文件名

a #第七段
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值