企业Linux特殊权限位/为什么会存在SUID?/企业环境测试(原理剖析)-4989字解析

企业高薪思维:
坚持很难,优秀的人才是少数,很重要
坚持不下去,问自己想要什么?

  1. 问问自己想要好的生活状态?
  2. 问自己有背景吗?
  3. 你学历是亮点吗?
  4. 有钱没,你也就是一般家庭,除了父母你什么也不是
    找到一个动力(想要什么?/还是努力去追喜欢的人?/你想去哪个城市?)

生活上,学习很重要:
作息要规律,这一点我没做到
每隔一段时间,休息调整一下
心态控制好,练心态(面试/工作中)

为什么创建的文件默认权限为什么为644? 目录为755?

umask 权限掩码,控制系统的文件和目录的默认权限
[root@calms wulin]# umask
0022

针对文件来说:默认权限计算方法
6 6 6
0 2 2 上面减下面
6 4 4 系统的文件默认权限(大多数情况)

准确的权限要看,umask掩码的3位每一位数字是否有(奇数),如果有奇数(奇数+1)

在这里插入图片描述
[root@calms wulin]# umask 021 #调整umask
[root@calms wulin]# umask #查看umask
0021
[root@calms wulin]# touch f021 #创建f021
[root@calms wulin]# ls -l f021 #查看f021属性
-rw-r–rw- 1 root root 0 4月 18 17:39 f021

6 6 6
0 2 1 减
6 4 5 # 系统的文件默认权限
0 0 1加
6 4 6

[root@calms wulin]# umask 033
[root@calms wulin]# umask
0033
[root@calms wulin]# touch f033
[root@calms wulin]# ls -li
16822129 -rw-r–r-- 1 root root 0 4月 18 17:50 f033

结论:文件默认权限结论

  1. 权限从666开始计算
  2. 如果是偶数,正常做减法
  3. 如果是奇数,奇数位+1

针对目录默认权限

权限从777开始计算
和掩码正常做减法
在这里插入图片描述

为什么系统把默认权限设定为:默认644,目录755呢?

生产环境:

安全的临界值,运营一个电商/jd,站点目录给什么权限安全呢?
目录755

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

[root@calms wulin]# mkdir /data/html -p
[root@calms wulin]# ls -ld /data/html/
drwxr-xr-x 2 root root 6 4月 18 18:33 /data/html/
web服务运行的时候有一个虚拟用户www.
1 虚拟用户www 可读可执行可以查看程序文件,不可以写删除文件。
在这里插入图片描述
2 但是还有一种手段,进行提权:
在这里插入图片描述
[root@calms wulin]# useradd www
[root@calms wulin]# chown -R www.www /data/html
[root@calms wulin]# ls -ld /data/html
drwxr-xr-x 2 www www 6 4月 18 18:33 /data/html

所以很多公司都在采用第二种方式,只是将用户设置了以进程的方式(这样方式权力还是非常大,存在一定的危险)

所以我们采用这种方式:
普通站点目录:【用户与组都是root,权限为755】
[root@calms wulin]# mkdir /data/html -p
[root@calms wulin]# ls -ld /data/html/
drwxr-xr-x 2 root root 6 4月 18 18:33 /data/html/

但是存在问题,用户需要进行放图片上传东西,还要做开口
在这里插入图片描述

图片文件目录授权:用户和组【www 权限755】
[root@calms wulin]# chown -R www.www /date/html/upload/
[root@calms wulin]#ls -ld /data/html/upload/
drwxr-xr-x. 2 www www /data/html/upload/

解决upload安全:

  1. 程序:控制这个目录上传的内容只能是jpg,.zip等(不让上传)
  2. nginx:针对upload访问的时候,除了.jpg.zip之外,不提供访问。(不准执行)
  3. 动态服务器和静态服务器做分离,访问的时候只有静态服务器进行做解析,相当于不安装python,java,php内容
  4. 磁盘上(挂载设置)禁止程序运行(二进制程序)

下一阶段为web阶段时候重点讲解

通过cat /etc/bashrc可以查看:
在这里插入图片描述
if [ $UID -gt 199 ] && [ “/usr/bin/id -gn” = “/usr/bin/id -un” ]; then
umask 002
else
umask 022
fi
如果uid大于199,并且用户与组同名,umask就为002,否则就是022
在这里插入图片描述
为什么/home下家目录权限的umask为700?是因为它的权限比较低一些
[root@calms wulin]# ls -ld /home/wulin
drwx------. 2 1000 1000 83
/home/wulin

通过vim /etc/login.defs可以看到,它的umask为077,当我们创建一个文件时候umask变为700

/home/wulin 700,#控制/etc/login.defs
在这里插入图片描述

在企业中业务大多数没有改程序文件的需求

程序文件 【 644 root root】
程序文件 【644 www www】

linux特殊权限位

Linux最后的三位权限:
suid,sgid,sticky

suid

  • 标识符为 S
  • 存放位置:基于权限位x权限对应的位置
  • 若用户权限为对应的x权限位上有x权限,则用suid小写的s标识
  • suid的d对应的数字权限为4
  • 完整的权限用八位进制数4000表示

[root@calms wulin]# touch suid.txt
[root@calms wulin]# ls -l suid.txt
-rw-r–r-- 1 root root 0 suid.txt

数字权限:如果直接设置4000,会破环原来的权限(644),所以设置为:
chmod 4644 suid.txt
在这里插入图片描述

取消:
[root@calms wulin]# chmod 644 suid.txt
[root@calms wulin]# ls -l suid.txt
-rw-r–r-- 1 root root 0 suid.txt

字符设置:suid
chmod u+s suid.txt
ls -l suid.txt
chmod u-s suid.txt
ls -l suid.txt

在这里插入图片描述

为什么会存在SUID?

例子:普通用户修改密码
[root@calms wulin]$passwd
更改用户wulin的密码
为wulin更改STRESS密码
(当前)UNIX密码:
新的密码
重新输入新的密码:
passwd:所有的身份验证令牌已经成功更新

  1. 修改密码passwd =====》修改/etc/shadow文件
    wulin 用户使用passwd命令,修改/etc/shadow文件,来实现修改密码的

ls -l /etc/shadow

在这里插入图片描述
传统权限分析:
wulin是其他的用户,修改了/etc/shadow权限—,没有权限修改;事实上权限已经修改了

suid特殊作用:
可以绕过基础权限体系,可以修改没有权限修改的文件

在这里插入图片描述
suid也是基于二进制命令
1.给一个命令设置suid后,使用这个命令的用户,都拥有和这个命令所对应的用户权限

paswd命令suid权限图解:
在这里插入图片描述
在这里插入图片描述
在企业中基本不要使用suid,需要也不要对过大的命令进行设置,比如rm设置suid,谁都可以进行删除

cd (设置uid不好用)
1.cd为bash内置命令,centos6没有对应的文件
2.有对应的文件,授权系统文件的cd,执行可能执行是bash内置的cd
在这里插入图片描述
suid核心知识小结:
1.suid功能是针对二进制命令/程序的,不能在shell脚本文件上
2.用户或属对应的前三位权限的x位上,如果有s就表示具备suid权限
3.二进制命令程序具有可执行权限x配合才行
4.suid对应的身份和权限仅在程序命令执行过程中有效
5.suid功能很危险,对系统安全有一定的威胁,企业中可以使用sudo等替代suid功能
6.在进行安全优化时,系统默认设置了suid权限命令要进行取消

suid应用
在这里插入图片描述
在这里插入图片描述
会发现不是root用户也可以进行删除

suid:生产场景实际用途
1.所有普通用户都能进行用到的
2.普通用户想要修改没有权限文件时候的使用
3.命令是没有破环作用的
ping,passwd

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

selenium 下载文件取消安全下载的方法

问题描述 我要从一个网站上下载文件,谷歌浏览器总是自动阻止下载,并询问我是否保留。 可是,我想要的是不要询问,默认下载即可。 运行环境 OS: macOSselenium: 4.19.0python: 3.10.11Chrome: 124.0.6367.62selenium chromedrive…

工会排队模式:创新营销的双赢之道

工会排队模式全面解读 在当今数字化营销的大潮中,促销方式层出不穷,但能真正抓住消费者眼球并带来双方共赢的模式并不多见。而工会排队模式便是在这样的背景下崭露头角,它巧妙地融合了工会积分、奖金池与排队机制,为消费者与商家…

linux进阶篇:重定向和管道操作

Linux中的重定向和管道操作 llinux中的三种IO设备: 标准输入(STDIN),文件描述符号为:0,默认从键盘获取输入 标准输出(STDOUT),文件描述符号位:1,默认输出到显示终端 标准…

java宠物领养系统的设计与实现(springboot+mysql+源码)

风定落花生,歌声逐流水,大家好我是风歌,混迹在java圈的辛苦码农。今天要和大家聊的是一款基于springboot的宠物领养系统的设计与实现。项目源码以及部署相关请联系风歌,文末附上联系信息 。 项目简介: 基于Spring Bo…

udemy视频教程下载:AI和ChatGPT提示工程精通指南

欢迎来到 ChatGPT 大师班! 这个 ChatGPT 大师班:AI 和提示工程指南是您通往 AI 未来的全通道通行证。 以下是您的学习旅程: 理解和掌握 ChatGPT:您将深入了解 AI 和语言模型,重点是 ChatGPT。我们设计了这个部分&am…

Linux--进程间的通信-命名管道

前文: Linux–进程间的通信-匿名管道 Linux–进程间的通信–进程池 命名管道的概念 命名管道是一种进程间通信(IPC)机制,运行不同进程之间进行可靠的、单向或双向的数据通信。 特点和作用: 跨平台性:在W…

ue4打包多模块

首先,每个模块,包含插件内的模块在内,都要用IMPLEMENT_MODULE(类名, 模块名)的方式,模块名就是带.build.cs的第一个单词。 build.cs里就说了这个模块该怎么用,用c#编写。 打包中要考虑到target.cs,将工程中相应的模块…

Linux服务器磁盘满了如何清理

生产环境中,磁盘很容易被日志文件沾满,如何查找和清理呢? 分享一下个人的经验: 1.先查询到哪个磁盘占用的最多 使用命令:df -h 2.查询/目录下磁盘占用情况 使用命令:du -sh * 3.同理进入占用磁盘比较大…

聊聊binlog是什么

1. 上一讲思考題解答:redo日志刷盘策略的选择建议 先给大家解释一下上一讲的思考題,我给大家的一个建议,其实对于redo日志的三种刷盘策略,我们通常建议是设置为1 也就是说,提交事务的时候,redo日志必须是刷入磁盘文件…

接口测试之用Fiddler对手机app进行抓包

🔥 交流讨论:欢迎加入我们一起学习! 🔥 资源分享:耗时200小时精选的「软件测试」资料包 🔥 教程推荐:火遍全网的《软件测试》教程 📢欢迎点赞 👍 收藏 ⭐留言 &#x1…

基于FPGA的OMEGA东京奥运会计时器

截至2019年共举办了31届奥运会,其中27届的计时设备都由欧米茄(OMEGA,Ω)提供,今年的东京奥运会将会是第28届。 瑞士计时公司(Swiss Timing)基于火星Mars ZX2核心板打造了为奥运会等大型体育赛事…

Redis教程——数据类型(哈希、集合)

上篇文章我们学习了Redis教程——数据类型(字符串、列表),这篇文章学习Redis教程——数据类型(哈希表、集合) 哈希表Hash 哈希表是一个string类型的field(字段)和value(值)的映射表,hash特别适合用于存储…

web轮播图

思路: 例如:有5张轮播的图片,每张图片的宽度为1024px、高度为512px.那么轮播的窗口大小就应该为一张图片的尺寸,即为:1024512。之后将这5张图片0px水平相接组成一张宽度为:5120px,高度依然为:5…

问题解决:pip install __命令安装不了Python库

项目环境: 我的环境:Window10,Python3.7,Anaconda3-2.4.0,Pycharm2023.1.3 问题描述①: pip install 命令安装不了需要的安装的Python库,以PyMuPDF为例 1 socket.timeout: The read operation t…

ICASSP 2024会议现场第四弹 晚会上韩风歌舞惊喜连连

会议之眼 快讯 在科技的浪潮中,ICASSP 2024会议作为全球信号处理领域的风向标,今日在充满活力韩国迎来了它的第五天日程!会场中热烈的讨论和灵感迸发的交流,让会场仿佛成为一座思想的熔炉,不断燃烧着创新的火花&#…

2024经常用且免费的10个网盘对比,看看哪个比较好用!

网盘在我们的工作和学习中经常会用到,也是存储资料的必备工具,有了它,我们就不用走到哪都带着移动硬盘了,而目前市场上的主流网盘还有数十款,其中有免费的也有付费的,各家不一,今天小编就来为您…

ins视频批量下载,instagram批量爬取视频信息【爬虫实战课1】

简介 Instagram 是目前最热门的社交媒体平台之一,拥有大量优质的视频内容。但是要逐一下载这些视频往往非常耗时。在这篇文章中,我们将介绍如何使用 Python 编写一个脚本,来实现 Instagram 视频的批量下载和信息爬取。 我们使用selenium获取目标用户的 HTML 源代码,并将其保存…

Unity解决:导出安卓apk 安装时报错:应用未安装:软件包似乎无效

Unity2018.4.36 导出安卓apk 安装时报错:应用未安装:软件包似乎无效 解决办法:因为安装到安卓12 需要添加添加过滤规则 在AS工程AndroidManifest.xml 添加过滤规则即可。 android:exported"true"

爬虫 | 网易新闻热点数据的获取与保存

Hi,大家好,我是半亩花海。本项目是一个简单的网络爬虫,用于从网易新闻的热点新闻列表中提取标题和对应的链接,并将提取到的数据保存到一个 CSV 文件中。 目录 一、技术栈 二、功能说明 三、注意事项 四、代码解析 1. 导入所需…

[天梯赛] 图上的动态规划与Dijkstra

题目 刚开始的思路 一开始是想到了要用Dijkstra,但是不知道如何找到多条路径的信息(刚开始是想把所有最短路找到之后再比较找到最大的救援队数量) 正确的思路 在Dijkstra的过程中,分两种情况: 找到更短路径进行更新…
最新文章