Brc's blog
首页
前端
后端
运维
  • 工作笔记
  • 分类
  • 标签
  • 归档
关于

Brc

努力中
首页
前端
后端
运维
  • 工作笔记
  • 分类
  • 标签
  • 归档
关于
  • Linux基础

    • Bash shell
    • 文件属性
    • 编辑工具vim
    • 用户管理
    • 用户组管理
    • 普通用户提权
    • 基础权限
      • linux权限介绍
        • 什么是权限
        • 为什么需要权限
        • 权限与用户的关系
        • 权限中rwx的含义
      • 修改文件权限
        • 修改权限的意义
        • 如何修改权限
        • UGO方式
        • NUM方式
        • 权限设定案例
      • 权限对文件和目录的影响
        • 权限对文件的影响
        • 权限对目录的影响
        • 文件与目录权限总结
      • 修改文件所属关系
        • 修改文件所属关系的意义
        • 如何修改文件的所属关系
        • chown(change owner)
        • chgrp(change group)
    • 特殊权限
    • 文件特殊属性
    • IO重定向
    • 文件查找
    • 文件压缩
    • 软件包管理

    • 磁盘管理

    • 进程管理
    • 计划任务
    • systemd
    • Supervisor
    • 网络管理

    • Chrony时间同步
    • NFS网络文件系统
  • Linux进阶

  • 其他

  • 运维
  • Linux基础
Brc
2021-07-04
目录

基础权限

# linux权限介绍

# 什么是权限

  • 权限是用来约束用户能对系统所做的操作。
  • 或者说,权限是指某个特定的用户具有特定的系统资源使用权力。

# 为什么需要权限

  • Linux是一个多用户系统,对于每一个用户来说,个人隐私的保护十分重要,所以需要进行权限划分;
    • 安全性:降低误删除风险、减少人为造成故障以及数据泄露等风险;
    • 数据隔离:不同的权限能看到、以及操作不同的数据;
    • 职责明确:电商场景客服只能查看投诉、无法查阅店铺收益,运营则能看到投诉以及店铺收益;

# 权限与用户的关系

  • 在Linux系统中,权限是用来定义用户能做什么,不能做什么。
    • 针对文件定义了三种身份,分别是属主owner、属组group、其他人others
    • 每种身份又对应三种权限,分别是读read、写write、执行execute

image-20210704194116739

  • 一个用户访问文件流程如下
    1. 判断用户是否为文件属主,如果是则按属主权限进行访问
    2. 判断用户是否为文件属组,如果是则按属组权限进行访问
    3. 如果不是文件属主、也不是该文件属组,则按其他人权限进行访问

# 权限中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用户;

image-20210704201145895

# 如何修改文件的所属关系

  • 可以使用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
#Linux
Last Updated: 2021/11/12, 16:51:33
普通用户提权
特殊权限

← 普通用户提权 特殊权限→

最近更新
01
谷歌云创建GKE集群
07-26
02
ElastiCacheForRedis启用密码
07-26
03
upload-to-gcs
06-29
更多文章>
Theme by Vdoing | Copyright © 2021-2024 Brc | MIT License | 浙ICP备19031881号-4
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式