文件权限管理
文件权限管理
在之前的介绍中,我们知道文件的权限属性,下面就来详细介绍linux的权限管理。
1 为什么要引入权限
如果你使用windows系统,你会发现winodws系统也有权限的概念,右键一个文件,点击属性,安全,可以看到如下内容。
这里的完全控制/修改/读取和执行/读取/写入
就是权限类别,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
755
即rwxr-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/
本文来自博客园,作者:yyyz,转载请注明原文链接:https://www.cnblogs.com/yyyzyyyz/p/15581947.html