当前位置: 首页 > news >正文

Linux实操篇-权限管理

目录

  • 传送门
  • 前言
  • 一、权限管理概念
  • 二、权限管理实战
      • 1. Linux文件权限模型
        • 1.1 文件的三种基本权限
        • 1.2 权限的三类主体
      • 2. 查看文件权限
      • 3. 修改文件权限
        • 3.1 使用符号方式修改权限
        • 3.2 使用数字方式修改权限
      • 4. 特殊权限
        • 4.1 SUID(Set User ID)
        • 4.2 SGID(Set Group ID)
        • 4.3 Sticky Bit
      • 5. 用户与组管理
        • 5.1 创建和管理用户与组
        • 5.2 修改文件所有者和所属组
      • 6. 权限的继承和访问控制
      • 7. 总结

传送门

SpringMVC的源码解析(精品)
Spring6的源码解析(精品)
SpringBoot3框架(精品)
MyBatis框架(精品)
MyBatis-Plus
SpringDataJPA
SpringCloudNetflix
SpringCloudAlibaba(精品)
Shiro
SpringSecurity
java的LOG日志框架
Activiti(敬请期待)
JDK8新特性
JDK9新特性
JDK10新特性
JDK11新特性
JDK12新特性
JDK13新特性
JDK14新特性
JDK15新特性
JDK16新特性
JDK17新特性
JDK18新特性
JDK19新特性
JDK20新特性
JDK21新特性
其他技术文章传送门入口

前言

不懂点Linux,都不好意思和别人说自己是开发,所以一些基础的必须掌握,同样的也是面试高频。

以下文章不定时更新…
Linux基础篇
Linux实操篇
Linux定制篇

一、权限管理概念

在这里插入图片描述
在这里插入图片描述
里面的6的单位是字节,6个字节,目录大小默认是4096字节
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

二、权限管理实战

Linux的权限管理系统是确保系统安全和资源访问控制的核心部分。它允许系统管理员管理用户、组、以及他们对文件和目录的访问权限。理解和配置这些权限对于保护数据、确保正确的访问控制非常重要。以下是关于 Linux 权限管理 的详细介绍:

1. Linux文件权限模型

在Linux中,每个文件或目录都有与之关联的权限,控制哪些用户或用户组可以读取、写入或执行该文件。Linux的文件权限模型基于三类权限和三类用户。

1.1 文件的三种基本权限
  • 读(r):允许查看文件内容或列出目录内容。
  • 写(w):允许修改文件内容或在目录中添加、删除文件。
  • 执行(x):允许执行文件(对于可执行文件)或进入目录。
1.2 权限的三类主体

权限被分配给以下三类主体:

  • 所有者(User/Owner):文件的拥有者。
  • 所属组(Group):文件属于的用户组。
  • 其他用户(Others):文件所属组和所有者之外的所有其他用户。

每个主体(所有者、组、其他用户)可以分别对文件执行读、写、执行操作。

2. 查看文件权限

使用 ls -l 命令可以查看文件的权限。例如:

ls -l file.txt

输出示例:

-rw-r--r-- 1 alice staff 4096 Dec 17 10:20 file.txt

解析:

  • -rw-r--r--:文件权限。
    • -:文件类型(- 表示普通文件,d 表示目录)。
    • rw-:所有者(alice)有读、写权限。
    • r--:组(staff)有读权限。
    • r--:其他用户有读权限。
  • 1:硬链接的数量。
  • alice:文件的所有者。
  • staff:文件的用户组。
  • 4096:文件大小。
  • Dec 17 10:20:文件的修改时间。

3. 修改文件权限

Linux提供了 chmod 命令用于修改文件的权限,支持两种方式:符号方式和数字方式。

3.1 使用符号方式修改权限

使用符号方式时,可以通过 r(读)、w(写)、x(执行)来表示权限,使用 +(添加权限)、-(去除权限)和 =(指定权限)来修改权限。

例如:

  • 给文件所有者添加写权限:
    chmod u+w file.txt
    
  • 给文件所属组去掉执行权限:
    chmod g-x file.txt
    
  • 只给所有者设置读权限:
    chmod u=r file.txt
    
  • 给所有用户添加执行权限:
    chmod a+x file.txt
    
3.2 使用数字方式修改权限

数字方式使用三个数字表示文件的权限,每个数字表示不同的主体(所有者、组、其他用户)权限的组合:

  • r(读)= 4
  • w(写)= 2
  • x(执行)= 1
  • -(无权限)= 0

每个数字代表所有者、组、其他用户的权限。例如:

  • 7(读+写+执行)= 4 + 2 + 1
  • 6(读+写)= 4 + 2
  • 5(读+执行)= 4 + 1
  • 4(读)= 4

例如:

  • 给文件 file.txt 设置所有者具有读、写、执行权限,组具有读、执行权限,其他用户只有读权限:
    chmod 755 file.txt
    
  • 给文件 file.txt 设置所有者具有读、写权限,组和其他用户没有权限:
    chmod 600 file.txt
    

4. 特殊权限

除了基本的权限(读、写、执行)外,Linux还有三种特殊权限,分别是 SUID、SGID 和 Sticky Bit。

4.1 SUID(Set User ID)

SUID 权限允许程序在执行时以文件所有者的身份运行,而不是执行程序的用户的身份。SUID 主要用于可执行文件。

设置 SUID 权限:

chmod u+s <文件名>

查看 SUID 权限:

ls -l <文件名>

如果文件设置了 SUID,权限字段会显示为:

-rwsr-xr-x 1 root root 12345 Dec 17 10:00 myprogram

其中,rws 中的 s 表示 SUID 权限。

4.2 SGID(Set Group ID)

SGID 权限使得程序在执行时,以文件所属组的身份运行,或者对于目录,文件会继承目录的组。

设置 SGID 权限:

chmod g+s <文件名或目录名>

查看 SGID 权限:

ls -l <文件名>

如果文件设置了 SGID,权限字段会显示为:

-rwxr-sr-x 1 root root 12345 Dec 17 10:00 myprogram

对于目录,SGID 设置后,目录中的新文件会继承该目录的组。

4.3 Sticky Bit

Sticky Bit 是一种特殊权限,通常用于目录。它确保只有文件的所有者、目录的所有者和超级用户可以删除或重命名目录中的文件。

设置 Sticky Bit 权限:

chmod +t <目录名>

查看 Sticky Bit 设置:

ls -ld <目录名>

如果目录设置了 Sticky Bit,权限字段会显示为:

drwxrwxrwt 7 root root 4096 Dec 17 10:00 /tmp

5. 用户与组管理

5.1 创建和管理用户与组
  • 创建用户

    sudo useradd <用户名>
    
  • 创建组

    sudo groupadd <组名>
    
  • 删除用户

    sudo userdel <用户名>
    
  • 删除组

    sudo groupdel <组名>
    
5.2 修改文件所有者和所属组
  • 修改文件的所有者:

    sudo chown <新所有者> <文件名>
    
  • 修改文件的所属组:

    sudo chgrp <新组> <文件名>
    
  • 同时修改文件的所有者和所属组:

    sudo chown <新所有者>:<新组> <文件名>
    

例如:

sudo chown john:admin file.txt

6. 权限的继承和访问控制

  • 默认权限:新创建的文件和目录通常会继承父目录的权限,并根据文件类型设置适当的权限。
  • ACL(Access Control Lists):ACL 是一种扩展的权限控制机制,允许细粒度地设置文件和目录的访问控制。

7. 总结

Linux的权限管理系统非常强大,可以通过基本的文件权限、用户、组、特殊权限以及 ACL 控制来确保系统的安全性。管理员可以灵活地管理哪些用户可以读取、修改和执行文件,从而保护敏感数据,防止未授权访问。理解和正确配置权限是维护 Linux 系统安全的核心技能。

相关文章:

  • 【机器学习】什么是支持向量机?
  • [操作系统] 进程间通信:进程池的实现
  • 解读InnoDB数据库索引页与数据行的紧密关联
  • 如何在 React 项目中进行服务器端渲染(SSR),它有什么优势
  • [学成在线]06-视频分片上传
  • BMS电池管理系统上下电过程
  • AVLTree
  • 单片机串口打印调试信息①
  • AI卫浴官:机器学习如何预判您的生理时钟
  • uniapp uni-drawer组件vue3写法
  • 【C++经典例题】寻找字符串中第一个不重复字符的索引
  • C++STL(四):stack和queue的模拟实现
  • [python] 使用Python实现Markdown文档格式转换
  • Flutter 输入组件 Radio 详解
  • 2018扬州大学876农业机械学概论填空名词解释简答
  • 文件I/O--C++的文件操作
  • 风电资源评估的关键指标及其应用
  • Log4j2 的核心实现和源码分析
  • 电源滤波器在医用电气设备中的应用
  • HTML5 canvas圆形泡泡动画背景特效
  • 郑培凯:汤显祖的“至情”与罗汝芳的“赤子之心”
  • 图讯丨习近平出席中国-拉美和加勒比国家共同体论坛第四届部长级会议开幕式
  • 特朗普访中东绕行以色列,专家:凸显美以利益分歧扩大
  • 飙升至熔断,巴基斯坦股市两大股指收盘涨逾9%
  • 巫蛊:文化的历史暗流
  • 消费维权周报|上周涉手机投诉较多,涉拍照模糊、屏幕漏液等