Loading

文件权限管理

文件权限管理

在之前的介绍中,我们知道文件的权限属性,下面就来详细介绍linux的权限管理。

1 为什么要引入权限

如果你使用windows系统,你会发现winodws系统也有权限的概念,右键一个文件,点击属性,安全,可以看到如下内容。

image

这里的完全控制/修改/读取和执行/读取/写入就是权限类别,windows系统为管理员用户分配了这些权限,同理你也可以对这些权限进行更改,比如把文件设置为只读。

操作系统引入权限的原因,首先因为系统是多用户的,也就是说这台机器会给很多人使用,为了保护每个登陆用户的隐私和工作环境不被其他用户干扰,就需要权限系统。(毕竟谁也不愿意自己安装的软件、写的文章被其他人随随便便删掉。)

2 linux的权限概念

在Linux系统中,针对文件定义了三种身份,分别是属主(owner)、属组(group)、其他人(others),每一种身份又对应三种权限,分别是可读(readable)、可写(writable)、可执行(excutable),分别简写为"rwx"。

平时也会看到一些文章写的权限"700",权限"755",这其实也是权限的表示方法,用数字和字母对应:

字母 含义 对应权限
r 读取权限 4
w 写入权限 2
x 执行权限 1
- 没有权限 0

权限分为三部分,每个部分都是三个字母表示,也可以通过4、2、1的相加组合得到这些权限,举个例子

字母 含义 对应权限
rw- 读、写 6(4+2+0)
r-- 只读 4(4+0+0)
rwx 读、写、执行 7(4+2+1)
--- 没有权限 0(0+0+0)

3 设置权限

使用命令设置权限,比如

chmod 755 filename

755rwxr-xr-x,使用数字设置权限非常简便。

另外,在Linux中权限对文件和对目录的影响是有不同区别的。

权限 对文件的影响 对目录的影响
读取权限(r) 具有读取阅读文件内容权限。 具有浏览目录及子目录权限
写入权限(w) 具有新增、修改文件内容的权限 具有增加和删除目录内文件权限
执行权限(x) 具有执行文件的权限 具有进入目录的内容的权限(取决于目录中文件权限)

再具体一点,对于文件的权限,主要都是针对“文件内容”而言的。

  • 读(r):可以读取文件的内容。

  • 写(w):可以编辑,修改文件内容。(但不能删除文件)

  • 执行(x):文件可以被系统执行。

目录的权限,是针对目录里的“文件”而言的。

  • 读(r):表示具有读取目录结构列表的权限,你可以查询该目录下的文件名数据,可以利用ls命令将该目录的内容列表显示出来。

  • 写(w):表示你具有更改目录结构列表的权限,包括以下权限:

    • 新建文件和目录
    • 删除已存在的文件和目录
    • 重命名已存在的文件和目录
    • 转移该目录下的文件和目录
  • 执行(x):表示用户可以进入(cd)该目录作为工作目录。

4 更改属组和属组

使用chown、chgrp命令实现。chown可以更改属主和属组,但是chgrp只能更改属组,所以记住chown就可以。

#chown 更改属主以及属组 -R:递归修改

#准备环境,创建文件和目录
mkdir dir/test1 && touch dir/file

#示例1: 修改所属主为bin
chown bin dir/

#示例2: 修改所属组为adm
chown .adm dir/

#示例3: 递归修改目录及目录下的所有文件属主和属组
chown -R root.root dir/
posted @ 2021-11-20 16:50  yyyz  阅读(141)  评论(0编辑  收藏  举报