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

文章探讨了企业中常见的文件和目录权限设置,如644和755的由来,以及SUID、SGID、sticky位的作用。作者强调了权限管理在保证系统安全和日常操作中的重要性,尤其是在电商网站和生产环境中的应用。
摘要由CSDN通过智能技术生成

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

  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

sgid权限

sgid获得的命令的所属用户的身份和权限

核心总结:

  • sgid既可以针对文件,也可以针对目录设置
  • sgid的权限是针对用户组权限位的
  • 对于文件来说
    1.sgid仅对二进制命令及程序有效
    2.执行命令的任意用户可以获得该命令程序执行期间所属的组的身份与权限
    3.二进制命令或程序,也需要有可执行权限x配合

sgid企业应用

locate===》读取/var/lib/mlocate/mlocate.db <====updatedb
查权限:

> [root@calms ~]# ls -l /var/lib/mlocate/mlocate.db
> -rw-r----- 1 root slocate 2268323 418 10:12 /var/lib/mlocate/mlocate.db
> 结论:相当于其他用户位看后三位权限,没有权限查询的
> 事实上可以进行查询locate cp

在这里插入图片描述
原因是:locate命令被设置了sgid
在这里插入图片描述
设置了sgid,任何用户使用/bin/locate都会获得slocate用户组的权限,然后去访问[root@calms ~]# ls -l /var/lib/mlocate/mlocate.db
-rw-r----- 1 root slocate 2268323 4月 18 10:12 /var/lib/mlocate/mlocate.db
的权限为可读

测试:取消sgid
在这里插入图片描述
查看:
在这里插入图片描述

  • 对于目录来说
    1.linux里面默认情况下所有用户创建文件,默认用户和组为自身
    2.sgid可以让用户在目录下创建的文件和目录具有相同的用户组设置

RHCE认证考试题:

创建共享目录/home/admins,要求属组adminuser,adminuser组成员对admins目录有写入,读取和执行的权限,其他所有用户没有任何权限(root除外),在/home/admins目录中创建的文件会自动继承adminuser组。

创建共享目录admins
[root@calms ~]# mkdir /home/admins
添加用户组adminuser
[root@calms ~]# groupadd adminuser
[root@calms ~]# ls -ld /home/admins
drwxr-xr-x 2 root root 6 4月  19 08:54 /home/admins
给admins目录授权adminuser用户组
[root@calms ~]# chgrp adminuser /home/admins
查看授权结果
[root@calms ~]# ls -ld /home/admins/
drwxr-xr-x 2 root adminuser 6 4月  19 08:54 /home/admins/
创建测试文件
[root@calms ~]# touch /home/admins/wulin.txt
[root@calms ~]# ls -l /home/admins/
文件默认的用户组都为root
-rw-r--r-- 1 root root 0 4月  19 08:55 wulin.txt
授权sgid权限给admins目录
[root@calms ~]# chmod 2770 /home/admins
查看授权结果
[root@calms ~]# ls -ld /home/admins
drwxrws--- 2 root adminuser 23 4月  19 08:55 /home/admins
创建新文件
[root@calms ~]# touch /home/admins/newfile.txt
[root@calms ~]# ls -l /home/admins/

-rw-r--r-- 1 root adminuser 0 4月  19 09:04 newfile.txt
新创建的文件用户组为adminuser了,而是非默认的root了
-rw-r--r-- 1 root root      0 4月  19 08:55 wulin.txt
[root@calms ~]# 

在这里插入图片描述

粘滞位知识sticky Bit(了解)

除非目录的属主和root用户有权删除它,其他用户是不能删除这个目录。用途一般是把一个文件权限都打开,进行共享文件,虽然有时候方便,但是也有一定的威胁!
在这里插入图片描述

特殊权限位对比

类别SUIDSGIDsticky
字符表示SSt
占据位置基本权限中前三位的x位基本权限中三位的x位基本权限后三位的x位
基本权限位有xsst
数字表示421
八进制表示400020001000
特殊权限作用针对用户位针对用户组其他用户
  • 35
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值