Liunx学习笔记(三) 文件权限

文件权限是 Linux 文件系统中一个很重要的组成部分,它决定着谁可以对一个文件做什么操作


1、查看权限

查看权限的方法很简单,只需要用 ls -l 命令就能查看,每行的第一个字段包含了对权限的描述

> ls -l
# drwxrwxr-x   2 user user 4096 Sep 12 16:05 folder
# -rw-rw-r-- 112 user user   12 Sep 12 16:00 file

以上面这个例子来说,这里对 file 的描述是 -rw-rw-r--,对 folder 的描述是 drwxrwxr-x

但这长长的一串东西表示的究竟是啥,别急,下面我们来一步步搞清楚每一个字符所代表的含义


第一个字符表示的是文件类型,实际上它并不属于权限描述的一部分,常见的文件类型有七种

普通文件 (-)、目录 (d)、链接 (l)、块设备文件 (b)、字符设备文件 ©、管道文件 §、套接字文件 (s)

普通文件、目录、链接这三种类型的文件相信大家都很熟悉,这里不再赘述

块设备例如硬盘、字符设备例如鼠标和键盘、管道文件用于进程通信、套接字文件用于网络通信


后九个字符才是真正表示这个文件的权限的,九个字符中每三个字符分为一组

每组分别表示:所有者权限 ( User, u )、所属组权限 ( Group, g )、其他用户权限 ( Other, o )

每组三个字符分别表示:读取权限 ( Readable, r )、写入权限 ( Writable, w )、执行权限 ( Execute, x )

若对应没有对应的权限,则用 - 表示


下面以 file 的权限描述 rw-rw-r-- 为例( ls -l 第一个字段省去第一个字符)

字符位置字符含义具体字符具体含义
1 ~ 3所有者权限rw-可读取,可写入,不可执行
4 ~ 6所属组权限rw-可读取,可写入,不可执行
7 ~ 9其他用户权限r--可读取,不可写入,不可执行

再来个 folder 的权限描述 drwxrwxr-xls -l 第一个字段省去第一个字符)

字符位置字符含义具体字符具体含义
1 ~ 3所有者权限rwx可读取,可写入,可执行
4 ~ 6所属组权限rwx可读取,可写入,可执行
7 ~ 9其他用户权限r-x可读取,不可写入,可执行

2、修改权限

在 Linux 中,修改文件权限可以使用 chmod 命令,具体使用方法如下:

> chmod 文件权限 file

这里所写的文件权限,可以有两种表示方法,一种是数字表示法,一种是文字表示法

(1)数字表示法

数字表示法是用三个八进制数字表示文件权限,这里的问题在于权限描述和八进制数字之间怎么进行转换呢

其实方法很简单,可以用二进制作为中间过渡,八进制和二进制之间的转换相信大家都懂,这里不再细说

而权限描述和二进制之间的转换,按照有权限值为 1,无权限值为 0 的规则进行就好,举两个例子

权限符:rw- rw- r--
二进制:110 110 100
八进制: 6   6   4
权限符:rwx rwx r-x
二进制:111 111 101
八进制: 7   7   5

(2)文字表示法

文字表示法是用特定的标识符表示对应的用户和权限,可以给特定的用户增加或删除特定的权限

用户:所有者用 u 表示 ( User ),所属组用 g 表示 ( Group ),而其他用户用 o 表示 ( Other )

权限:读取权用 r 表示 ( Readable ),写入权用 w 表示 ( Writable ),执行权用 x 表示 ( Execute )

# 所有者(u) 增加(+) 执行权限(x)
> chmod u+x file

# 所属组(g) 减少(-) 写入权限(w)
> chmod g-w file

# 其他用户(o) 重新指定(=) 访问权限
> chmod o=rw file

3、权限掩码

权限掩码由四个八进制的数字组成,它和默认权限一起,决定着新建文件和新建目录的权限

三者之间的关系如下:默认权限 - 权限掩码 = 新建文件或新建目录的权限

默认权限是确定的,在 Linux 中,文件的默认权限是 666,目录的默认权限是 777

我们可以使用 umask 命令检查和修改权限掩码,如果不加修改,默认的权限掩码是 0022

那么此时,新建文件的权限是 666 - 0022 = 644,新建目录的权限是 777 - 0022 = 755

4、目录权限

最后还要注意一下,对于目录而言,读取权限 ®、写入权限 (w)、执行权限 (x) 所代表的含义

  • 可读取 ( r ):可以使用 ls 命令列出目录中的内容
  • 可写入 ( w ):可以在目录中新建、删除、修改文件
  • 可执行 ( x ):可以使用 cd 命令切换到该目录
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值