《网络安全自学教程》- Linux安全标识符、身份鉴别、访问控制

news2024/11/13 11:06:27
《网络安全自学教程》

在这里插入图片描述

操作系统有4个安全目标,也就是说想要保证操作系统的安全,就必须实现这4个需求:

  1. 标识系统中的用户和进行身份鉴别。
  2. 依据系统安全策略对用户的操作进行访问控制,防止用户和外来入侵者对计算机资源的非法访问。
  3. 审计系统运行的安全性。
  4. 保证系统自身的安全性和完整性。

Linux系统使用「安全标识符」「身份鉴别」「访问控制」这三个安全机制实现前两个需求。

在这里插入图片描述

Linux

  • 1、Linux系统标识
  • 2、Linux 身份鉴别
  • 3、Linux访问控制

1、Linux系统标识

Linux使用 UID 来标识安全主体。

UID 是一个0~65535之间的整数,用来唯一标识用户身份,用户身份有三种。

  • 超级用户(UID=0):超级管理员,默认只有root,拥有最高权限,完全控制系统。
  • 内置用户(UID=1~499):系统保留的特殊服务,用来运行系统服务或进程。
  • 普通用户(UID=500~65535):权限受限,usermod -u 0 username 可以通过修改用户UID的方式将普通用户提升为管理员权限,但这并不是完整的root权限,需要做其他配置和授权才能完全控制系统。

id 用户名 可以查看指定用户的UID。

cat /etc/passwd | grep :0 查看具有管理员权限的用户。

在这里插入图片描述

UID是单向自增的,我们可以使用 usermod -u [新UID] 用户名 修改用户的UID,但不能重复使用,即使那个UID已经没人用了。

从上一张图可以看到,新建的两个用户,UID分别是1000、1001,是自增的,这时候1001之前的UID都被用过了。

从下一张图可以看到,999这个UID已经用过了,无法设置给用户;1002这个UID还没用过,可以设置给用户。

在这里插入图片描述

2、Linux 身份鉴别

Linux使用文件来管理用户信息,也就是把用户信息保存在一个文件里,毕竟Linux的核心理念就是"一切结文件"。

Linux的用户账号保存在 /etc/passwd,密码加密后保存在/etc/shadow

cat /etc/passwd 查看用户账号信息,这个文件对所有用户可读,一行对应一个用户,用冒号分割字段。

在这里插入图片描述
字段从左到右依次是:

  1. root:用户名,大小写字母或数字组成,不超过位。
  2. x:密码,加密后放到/etc/shadow
  3. 0:用户标识(UID)。
  4. 0:用户组标识(GID)。
  5. root:注释,用来描述用户信息。
  6. /root:主目录(用户家目录),用户登录后默认进入主目录。
  7. /bini/bash:登录的shell。

cat /etc/shadow 查看用户密码信息,只有root可以查看,字段从左到右依次是:

  1. 用户名,与/etc/passwd一 一对应。
  2. 密码,使用DES+MD5加密后保存。如果为空,登录就不需要密码;*表示账号被锁定;!!表示密码过期;$6$开头,表示SHA-512加密;$1$开头,表示MD5加密;$2$开头,表示Blowfish加密;$5$开头,表示SHA-256加密。
  3. 最后一次修改时间,距离1970年1月1日有多少天。
  4. 最小时间间隔,两次修改密码之间的最小天数,0表示没有限制。
  5. 最大时间间隔,密码有效期,过期后需要修改密码,空或99999表示没有限制。
  6. 警告时间,密码过期提前多少天提醒,0表示没有限制。
  7. 账号闲置时间,密码过期后,仍然可以使用该密码登录的天数,空字段表示不强制过期。
  8. 失效时间,失效后锁定用户,禁止登录。
  9. 标志,一般不用。

扩展:设置/修改密码时,密码加密后,先由pwunconv将加密后的密码写到/etc/passwd,再由pwconv从/etc/passwd转换到/etc/shadow中。

3、Linux访问控制

Linux用 UGO 管理机制做访问控制。

UGO 是User、Group、0ther首字母的简写,它把文件的操作者分为三种

  1. U:文件属主权限
  2. G:文件属组权限
  3. O:其他组用户的权限

每种操作者拥有三种权限:读(r)、写(w)、执行(x)。

三种操作者的9种权限共同组成一个文件的完整权限。

ls 可以查看文件的属性,属性左边第二列显示文件的权限

在这里插入图片描述

在权限lrwxr-xr-x中,从左到右;

  • 第一位,表示文件类型
  • 第二三四位,表示属主的权限,这里的rwx表示文件属主有读写执行权限。
  • 第伍六七位,表示属组的权限,这里的r-x表示文件属组有读和执行权限。
  • 第八九十位,表示其他组用户权限,这里的r-x表示其他组对文件有读和执行权限。

权限的设置,可以参考我的另一篇文章 Linux修改文件权限

扩展:目录的权限与文件的权限含义有些不同:r 是可以查看目录中的内容,w 是可以增删目录中的内容,x 是可以进入目录。

除了rwx这三个常用权限位,Linux还有几个「特殊权限」 s(suid)、s (sgit)、t(Sticky Bit)。
比如 passwd 文件属主的第三个权限是s(suid),这表示其他用户在执行该文件时具有属主的权限。这样的好处是,普通用户没有修改shadow文件的权限,当普通用户用执行passwd命令修改密码时,具有了属主root的权限,就能修改shadow文件了。sgid也是同样的效果。

:~$ ls -l /usr/bin/passwd 
-rwsr-xr-x 1 root root  /usr/bin/passwd
:~$ ls -l /etc/shadow
-rw-r----- 1 root shadow  /etc/shadow

新建文件或目录的默认权限,由系统掩码umask决定。「掩码」的相关资料,可以参考我的另一篇文章 Linux修改文件默认访问权限

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2038343.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

mysql误删数据恢复记录

背景 1、数据库版本 5.7.36,由于误操作删掉了表的所有数据,但是数据库备份每天凌晨进行、只能从备份恢复昨日的全量数据,当日的数据将会丢失 查看binlog配置 尝试恢复 1、找到binlog文件 误删除后立即刷新binlog flush logs 2、binlog转…

OpenAI GPT-2 model use with TensorFlow JS

题意:使用 TensorFlow JS 应用 OpenAI GPT-2 模型 问题背景: Is that possible to generate texts from OpenAI GPT-2 using TensorFlowJS? 是否可以使用 TensorFlowJS 生成 OpenAI GPT-2 的文本? If not what is the limitation, like mo…

010集——按值传递、按引用传递等方法——C#学习笔记

按值传递参数 这是参数传递的默认方式。在这种方式下,当调用一个方法时,会为每个值参数创建一个新的存储位置。 实际参数的值会复制给形参,实参和形参使用的是两个不同内存中的值。所以,当形参的值发生改变时,不会影…

MDK常见概念

(1)typedef定义结构体类型 typedef struct {uint32_t BaudRate;uint32_t WordLength;uint32_t StopBits;uint32_t Parity;uint32_t Mode;uint32_t HwFlowCtl;uint32_t OverSampling; } UART_InitTypeDef; (2)寄存器 (3)DMA DMA 是…

2024年第八届计算生物学与生物信息学国际会议 (ICCBB 2024)即将召开!

2024 年第八届计算生物学和生物信息学国际会议(ICCBB 2024)将于2024年11月28 -30在日本京都召开,ICCBB 2024是展示理论、实验和应用计算生物学和生物信息学领域新进展和研究成果的主要论坛之一。我们相信,通过大家的共同努力&…

【问题】容器部署场景Spring Bean偶尔循环依赖问题

问题描述 在本地开发中不会发生循环依赖问题,但是在容器场景下,制作成镜像启动后异常出现Bean的循环依赖。 问题原因 开发者在代码中使用构造函数注入来引用依赖的 Bean,这种方式可能导致循环依赖问题。虽然 Spring 框架具备循环依赖的处理…

thinkphp漏洞之sql注入漏洞-builder处漏洞

目录 适用版本 环境搭建 文件下载安装 配置文件修改 漏洞分析 适用版本 注&#xff1a;thinkphp版本&#xff1a;5.0.13<ThinkPHP<5.0.15 、 5.1.0<ThinkPHP<5.1.5 环境搭建 文件下载安装 在github上面下载相应版本&#xff0c;下载think文件&#xff0c;…

乳制品企业怎么防止信息泄露?使用加密软件保障数据安全

乳,制品行业使用加密软件主要是为了保障企业的核心数据安全&#xff0c;防止敏感信息泄露&#xff0c;如:产品配方、生产流程、销售数据等&#xff0c;通过使用加密软件&#xff0c;来保护重要的数据.。一、加密软件在乳制品企业的重要性1、保护重要数据:乳制品企业拥有大量敏感…

SQL 变量写法、排序问题 <12>

一、定义变量排序 目的1&#xff1a;合并学生表和分数表&#xff0c;将每个班分别排名 目的2&#xff1a;遇到相同分数&#xff0c;考虑还是不考虑相同分数排名 学生表&#xff08;1000条&#xff09;和分数表&#xff08;6000条&#xff09;分别如下 1、定义变量、简答排序…

datax和datax-web打包成docker运行

概述 datax和datax-web从一台机器迁移到另一台时&#xff0c;要重新搭建一套运行环境&#xff0c;比较麻烦&#xff1b;打包成docker镜像后迁移就方便多了; 因为我的mysql版本是8&#xff0c;需要在datax的read和write中手动添加8的jdbc驱动 所以我先各自下载好了datax和data…

JavaEE 的入门

1. 学习JavaEE Java EE(Java Platform Enterprise Edition), Java 平台企业版. 是JavaSE的扩展, ⽤于解决企业级的开 发需求, 所以也可以称之为是⼀组⽤于企业开发的Java技术标准. 所以, 学习JavaEE主要是学习Java在 企业中如何应⽤. 前⾯学习的是Java基础, JavaEE 主要学习Jav…

修改docker数据存储目录及拉取镜像安装oracle19c

一、修改docker数据目录&#xff0c;默认安装路径为/var/lib/docker 查看docker主路径 docker info |grep "Docker Root Dir"1.停服务 systemctl stop docker2.新建目录并授权 mkdir /data/docker -p chown -R root:docker /data/docker/3.修改配置文件 原有{}内…

微信小程序预览PDF、H5预览PDF、网页预览PDF,并添加专属文字水印

下载PDF.js 点击PDF.js下载地址 引入预览PDF 文件 // const url new URL("./1.pdf", import.meta.url).href // 在本地项目获取pdf // const url "https://xxxx/05d833041f.pdf" // 在线上链接获取pdf const url query.get(url) // 在地址栏获取pdf c…

2024年Q2震撼来袭!AMD数据中心与笔记本CPU市场独占鳌头,强劲表现引爆业界关注!

根据CPU市场追踪机构Mercury Research的最新报告&#xff0c;AMD在2024年第二季度再次取得了显著成绩&#xff0c;在数据中心和笔记本电脑CPU市场上份额有所增加。然而&#xff0c;Intel在台式机市场仍占据优势&#xff0c;并在整体出货量上保持领先地位。 在2024年第二季度&a…

本地查看的Git远程仓库分支与远程仓库分支数量不一致

说明&#xff1a;一次&#xff0c;在IDEA中想切换到某分支&#xff0c;但是查看Remote没有找到要切换的分支&#xff0c;但是打开GitLab&#xff0c;查看远程仓库&#xff0c;是有这个分支的。 解决&#xff1a;1&#xff09;在IDEA的Git中&#xff0c;点下面Fatch获取一下远程…

Grype:用于容器镜像、文件系统的开源漏洞扫描程序

容器镜像和文件系统的漏洞扫描器 Grype 是一个开源漏洞扫描器&#xff0c;专为容器镜像和文件系统设计&#xff0c;可与强大的软件物料清单 (SBOM) 工具 Syft 无缝集成。 扫描容器镜像或文件系统的内容以查找已知漏洞。 查找主要操作系统软件包的漏洞 Alpine Amazon Linux B…

计算机毕业设计 招生宣传管理系统 Java+SpringBoot+Vue 前后端分离 文档报告 代码讲解 安装调试

&#x1f34a;作者&#xff1a;计算机编程-吉哥 &#x1f34a;简介&#xff1a;专业从事JavaWeb程序开发&#xff0c;微信小程序开发&#xff0c;定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事&#xff0c;生活就是快乐的。 &#x1f34a;心愿&#xff1a;点…

Linux基础入门---Centos安装步骤

&#x1f600;前言 本篇博文是关于Centos的详细安装&#xff0c;希望你能够喜欢 &#x1f3e0;个人主页&#xff1a;晨犀主页 &#x1f9d1;个人简介&#xff1a;大家好&#xff0c;我是晨犀&#xff0c;希望我的文章可以帮助到大家&#xff0c;您的满意是我的动力&#x1f609…

20240814 每日AI必读资讯

号称全球最强AI程序员 “Genie” 横空出世&#xff0c;击败Devin与GPT-4! - Genie在SWE-Bench测试中得分高达30.08%&#xff0c;成为全球最强AI程序员。 - 采用特殊数据集和自我改进机制&#xff0c;使Genie在复杂编码中表现出色。 - 目前已开放申请试用&#xff0c;未来将推…

Android12 SystemUI QS面板新增截屏功能

问题:Android12 中SystemUI版本,QS下拉快捷面板式没有截屏功能的。 需求:客户要求在项目中实现下拉快捷面板具备一键截屏功能 目前自己只针对Android12 mtk/RK平台实践过,接触的全志平台暂未实验验证。 文章目录 前言一、实际实现效果二、修改点1.新增文件2.修改文件三、基…