基础权限
# 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 file
1取消文件的所有权限
[root@web ~]# chmod a=-rwx file
1属主读写执行,属组读写,其他人无权限
[root@web ~]# chmod u=rwx,g=rw,o=- file
1属主属组读写执行,其他人读权限
[root@web ~]# chmod ug=rwx,o=r file
1
# NUM方式
设定文件权限
644
,rw-r--r--
[root@web ~]# chmod 644 file
1设定文件权限
600
,rw-------
[root@web ~]# chmod 600 file
1设定目录权限为
755
,递归授权rwxr-xr-x
[root@web ~]# chmod -R 755 dir
1
# 权限设定案例
场景:针对
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/hr
1
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 /data
1修改所属主为bin
[root@web ~]# chown bin /data
1修改所属组为adm
[root@web ~]# chown .adm /data
1修改目录所属主为root,所属组为root,并进行递归授权
[root@web ~]# chown -R root.root dir
1
# chgrp(change group)
准备环境,创建文件和目录
[root@web ~]# mkdir /data2
1修改所属组为adm
[root@web ~]# chgrp adm /data
1
Last Updated: 2021/11/12, 16:51:33