基础权限
# linux权限介绍
# 什么是权限
- 权限是用来约束用户能对系统所做的操作。
- 或者说,权限是指某个特定的用户具有特定的系统资源使用权力。
# 为什么需要权限
Linux是一个多用户系统,对于每一个用户来说,个人隐私的保护十分重要,所以需要进行权限划分;- 安全性:降低误删除风险、减少人为造成故障以及数据泄露等风险;
- 数据隔离:不同的权限能看到、以及操作不同的数据;
- 职责明确:电商场景客服只能查看投诉、无法查阅店铺收益,运营则能看到投诉以及店铺收益;
# 权限与用户的关系
- 在
Linux系统中,权限是用来定义用户能做什么,不能做什么。- 针对文件定义了三种身份,分别是属主
owner、属组group、其他人others - 每种身份又对应三种权限,分别是读
read、写write、执行execute
- 针对文件定义了三种身份,分别是属主

- 一个用户访问文件流程如下
- 判断用户是否为文件属主,如果是则按属主权限进行访问
- 判断用户是否为文件属组,如果是则按属组权限进行访问
- 如果不是文件属主、也不是该文件属组,则按其他人权限进行访问
# 权限中rwx的含义
linux中权限是由,rwxr-xr-x这9位字符来表示,主要控制文件的属主User、属组Group,其他用户Other的权限。
| 字母 | 含义 | 二进制 | 八进制权限表示法 |
|---|---|---|---|
| r-- | 读取权限 | 100 | 4 |
| -w- | 写入权限 | 010 | 2 |
| --x | 执行权限 | 001 | 1 |
| --- | 没有权限 | 000 | 0 |
# 修改文件权限
# 修改权限的意义
- 简单来说就是:
赋予某个用户或组-->能够以何种方式(读写执行)-->访问文件
# 如何修改权限
- 修改权限使用
chmod(change mode)命令来实现- 对于
root用户而言,可以修改任何人的文件权限; 普通用户仅仅只能变更属于自己的文件权限;
- 对于
# UGO方式
给文件所有人添加读写执行权限
[root@web ~]# chmod a=rwx file1取消文件的所有权限
[root@web ~]# chmod a=-rwx file1属主读写执行,属组读写,其他人无权限
[root@web ~]# chmod u=rwx,g=rw,o=- file1属主属组读写执行,其他人读权限
[root@web ~]# chmod ug=rwx,o=r file1
# NUM方式
设定文件权限
644,rw-r--r--[root@web ~]# chmod 644 file1设定文件权限
600,rw-------[root@web ~]# chmod 600 file1设定目录权限为
755,递归授权rwxr-xr-x[root@web ~]# chmod -R 755 dir1
# 权限设定案例
场景:针对
hr部门的访问目录/data/hr设置权限,要求如下:- 超级管理员
root用户和hr组的员工可以读、写、执行; - 其他用户或者组没有任何权限;
[root@web ~]# groupadd hr [root@web ~]# useradd hre1 -G hr [root@web ~]# useradd hre2 -G hr [root@web ~]# mkdir /home/hr [root@web ~]# chgrp hr /home/hr [root@web ~]# chmod 770 / home/hr1
2
3
4
5
6- 超级管理员
# 权限对文件和目录的影响
在Linux中权限设定对文件和对目录的影响是有区别的。
| 权限 | 对文件的影响 | 对目录的影响 |
|---|---|---|
| 读取权限(r) | 具有读取\阅读文件内容的权限 | 具有浏览目录及子目录的权限 |
| 写入权限(w) | 具有新增、修改文件内容的权限 | 具有增加和删除目录内文件的权限 |
| 执行权限(x) | 具有执行文件的权限 | 具有进入目录的权限 |
# 权限对文件的影响
- 读取权限
r:具有读取、阅读文件内容权限- 只能使用查看类命令
cat、head、tail、less、more
- 只能使用查看类命令
- 写入权限w:具有新增、修改文件内容的权限
- 使用
vim会提示权限拒绝,但可强制保存,会覆盖文件的所有内容 - 使用
echo命令重定向的方式可以往文件内写入数据,>>可以追加内容 - 使用
rm无法删除文件,因为删除文件需要看上级目录是否有w的权限
- 使用
- 执行权限
x:具有执行文件的权限- 没有执行权限无法直接执行
- 如果普通用户需要执行文件,需要配合
r权限
# 权限对目录的影响
- 读取权限
r:具有浏览目录及子目录权限- 使用
ls命令浏览目录及子目录,但同时也会提示权限拒绝 - 使用
ls -l命令浏览目录及子目录,文件属性会带问号,并且只能看到文件名
- 使用
- 写入权限
w:具有增加、删除或修改目录内文件名权限,需要x权限配合- 可以在目录内创建文件,删除文件(跟文件本身权限无关)
- 不能进入目录、不能复制目录、不能删除目录、不能移动目录
- 执行权限
x:具有进入目录的权限- 只能进入目录
- 不能浏览、复制、移动、删除
# 文件与目录权限总结
- 文件权限设定小结:
- 文件
r权限,只给用户查看,无其他操作; - 文件
rw权限,可以查看和编辑文件内容; - 文件
rx权限,允许查看和执行文件、但不能修改文件; - 文件
rwx权限,能读、能写、能执行、不能删除;
- 文件
- 目录权限设定小结:
- 目录
rx权限,允许浏览目录内文件以及子目录,不允许在该目录下创建文件、删除文件 - 目录
rw权限,能查看目录,能往目录写入文件,但无法进入目录-->(使用的情况太少)
- 目录
- 默认系统设定的安全权限:
- 文件权限
644 - 目录权限
755
- 文件权限
# 修改文件所属关系
# 修改文件所属关系的意义
修改文件所属关系的意义是什么?
- 假设:
alice用户现在有很多房产,希望将其中某一套出售给jack用户变现:- 通过
root用户变更属主关系,将房产默认属主身份alice修改为jack; - 修改完成后该房产拥有人则为
jack用户,而不在是alice用户; - 此时房产属主为
jack用户,而不在是alice用户;
- 通过

# 如何修改文件的所属关系
- 可以使用
chown(change owner)、chgrp(change group)命令实现。chown能变更文件的属主和属组;chgrp仅能变更文件的属组;
# chown(change owner)
准备环境,创建文件和目录
[root@web ~]# mkdir /data1修改所属主为bin
[root@web ~]# chown bin /data1修改所属组为adm
[root@web ~]# chown .adm /data1修改目录所属主为root,所属组为root,并进行递归授权
[root@web ~]# chown -R root.root dir1
# chgrp(change group)
准备环境,创建文件和目录
[root@web ~]# mkdir /data21修改所属组为adm
[root@web ~]# chgrp adm /data1
Last Updated: 2021/11/12, 16:51:33