千家信息网

linux文件的特殊权限总结与实验

发表于:2025-01-30 作者:千家信息网编辑
千家信息网最后更新 2025年01月30日,在linux中,有一个安全上下文的概念,一个进程(运行的程序)能否访问某个文件,取决于发起进程的用户对被操作文件存在什么权限。A. 如果进程的发起者是该被访问文件的属主,则以文件属主的权限来访问B.
千家信息网最后更新 2025年01月30日linux文件的特殊权限总结与实验

在linux中,有一个安全上下文的概念,一个进程(运行的程序)能否访问某个文件,取决于发起进程的用户对被操作文件存在什么权限。

A. 如果进程的发起者是该被访问文件的属主,则以文件属主的权限来访问

B. 否则,如果进程的发起者是属于该被访问文件的属组中的用户,则以文件属组的权限来访问

C. 否则,以其他用户来访问此文件

而在这个权限之外,还存在着三种特殊权限

SUID:当对某一个程序文件设置了SUID置位,则该进程(程序)访问系统上的文件时,以程序的属主的身份来访问该文件,而不是执行程序的用户的权限来访问文件。

SGID:当某目录的属组对目录有写权限,并且设置了SGID置位时,属于属组的这些用户在这个目录下创建文件时,被创建的文件的属组默认会变成该目录的属组,而不是创建文件的用户的基本组。

SBIT:当对某目录设置了SBIT置位时,用户只能删除自己在该目录下创建的文件,而不能删除其他用户创建的文件,哪怕用户对目录存在写权限。

操作:

1. SUID: chmod u+s

2. SGID: chmod g+s

3. SBIT: chmod o+t

实验:

一、 SUID实验

将/bin/cat复制到/test目录,将/test/bin程序进行SUID置位。让一个普通使用该程序来查看/etc/shadow文件。然后再用系统自带的/bin/cat来查看该文件。

# 将/bin/cat复制到/test目录

[root@liuqing test]# cp /bin/cat /test/

[root@liuqing test]# ll /test

总用量 60

-rwxr-xr-x. 1 root root 54080 11月 21 17:04 cat

#对/test/cat文件进行SUID置位,该文件的属主属组都是root

[root@liuqing test]# chmod u+s /test/cat

[root@liuqing test]# ll

总用量 60

-rwsr-xr-x. 1 root root 54080 11月 21 17:04 cat

-rw-r-----. 1 lyf lyf 14 11月 21 16:15 file1.txt

#切换到普通用户liuqing

[root@liuqing test]# su - liuqing

上一次登录:四 11月 21 16:05:54 CST 2019pts/1 上

[liuqing@liuqing ~]$

#普通用户liuqing,使用/test/cat可以查看/etc/shadow

[liuqing@liuqing ~]$ /test/cat /etc/shadow

root:$6$gdIxmcOy$JSDVjR0tSdQfVTDrukonWIfRLdDIut63ZYiucsTmj8TPJ0Sq/wZduJhWgSUidlHeW6pmISq.B7Vx4OlGX1P1p1:18185:0:99999:7:::

#普通用户使用系统自带的/bin/cat,不能查看/etc/shadow

[liuqing@liuqing ~]$ ll /bin/cat

-rwxr-xr-x. 1 root root 54080 8月 20 14:25 /bin/cat

[liuqing@liuqing ~]$ cat /etc/shadow

cat: /etc/shadow: 权限不够

二、 SGID实验

系统上有两个用户,gentoo和fedora,它们的附加组为mygrp,现在对/test目录进行SGID置位,当我们使用这两个用户在/test目录下创建文件时,文件的属组会自动变成mygrp。

#查看gentoo和fedora是否存在

[root@liuqing test]# id gentoo

uid=4007(gentoo) gid=4007(gentoo) 组=4007(gentoo),5000(magedu)

[root@liuqing test]# id fedora

uid=4008(fedora) gid=4008(fedora) 组=4008(fedora),5000(magedu)

# 创建组mygrp

[root@liuqing test]# groupadd mygrp

# 将用户gentoo和fedora添加附加组mygrp

[root@liuqing test]# usermod -a -G mygrp gentoo

[root@liuqing test]# usermod -a -G mygrp fedora

[root@liuqing test]# id gentoo

uid=4007(gentoo) gid=4007(gentoo) 组=4007(gentoo),5000(magedu),5003(mygrp)

[root@liuqing test]# id fedora

uid=4008(fedora) gid=4008(fedora) 组=4008(fedora),5000(magedu),5003(mygrp)

# 修改/test的属组为mygrp,修改属组权限为rwx,对/test进行SGID置位

[root@liuqing /]# chown :mygrp /test

[root@liuqing /]# chmod g+w /test

[root@liuqing /]# chmod g+s /test

[root@liuqing /]# ls -ld /test

drwxrwsr-x. 2 root mygrp 34 11月 21 17:23 /test

# 切换用户到gentoo

[root@liuqing /]# su - gentoo

上一次登录:四 11月 21 17:22:21 CST 2019pts/0 上

[gentoo@liuqing ~]$

# gentoo用户在/test目录下创建了gentoo.txt文件,查看文件属性,该文件属组为mygrp

[gentoo@liuqing ~]$ touch /test/gentoo.txt

[gentoo@liuqing ~]$ ll /test

总用量 60

-rw-rw-r--. 1 gentoo mygrp 0 11月 21 17:25 gentoo.txt

三、 SBIT实验

/test目录的属组是mygrp,对这个目录,进行了SGID置位,mygrp组对目录有rwx权限。那么这个目录下,附加组是mygrp的用户在目录中创建的文件的属组是mygrp,这时,附加组是mygrp的这些用户可以在目录中创建、修改删除文件,而这样的话,这些用户也可以删除别的用户创建的文件,为了不让别人删除某用户创建的文件,则可以对目录进行stick,stick之后,只有用户自己和管理员可以删除该目录下该用户自己创建的文件。

# 对目录进行stick置位,查看权限,发现在o的权限位,有一个t

[root@liuqing test]# chmod o+t /test

[root@liuqing test]# ls -ld /test

drwxrwsr-t. 2 root mygrp 52 11月 21 17:25 /test

#切换到fedora用户,创建一个fedora.txt

[root@liuqing test]# su - fedora

[fedora@liuqing ~]$ touch /test/fedora.txt

[fedora@liuqing ~]$ echo "How are you?" >> /test/fedora.txt

#查看目录下的文件,对于gentoo.txt ,它的权限是属组有rw。

[fedora@liuqing ~]$ ll /test

-rwsr-xr-x. 1 root root 54080 11月 21 17:04 cat

-rw-rw-r--. 1 fedora mygrp 13 11月 22 08:45 fedora.txt

-rw-rw-r--. 1 gentoo mygrp 0 11月 21 17:25 gentoo.txt

#fedora用户可以编辑gentoo.txt这个文件

[fedora@liuqing ~]$ echo "New line" >> /test/gentoo.txt

[fedora@liuqing ~]$

[fedora@liuqing ~]$

[fedora@liuqing ~]$ cat /test/gentoo.txt

New line

#由于进行了SBIT置位,fedora用户不能删除gentoo.txt这个文件,因为这个文件不是fedora创建的。

[fedora@liuqing ~]$ rm /test/gentoo.txt

rm: 无法删除"/test/gentoo.txt": 不允许的操作


文件 用户 目录 权限 程序 进程 实验 普通 系统 附加 用量 切换 两个 发起者 次登 上一 中创 特殊 安全 这样的话 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 暗黑2 局域网服务器 中医经络检测仪软件开发 qq的电子邮件服务器名是什么 在数据库中的select语句 汽车车载网络技术的术语 数据库中学校和系的联系 便宜的海外云服务器 计算机三级网络技术题库答案 实现数据库中的连接 个人所得税笔记软件开发 腾讯网络安全学院官网 19c数据库手工清理 厦门软件开发百度贴吧 阿里云服务器的黑名单 怎么解决数据库并发问题 新乡市逆袭网络技术有限公司 orcal数据库的备份 网络安全部队雇佣兵主要来源 软件开发入职体检转氨酶高 我的世界手机版服务器0基础 一刀传世哪个服务器玩家多啊 药品广告数据库是江苏10秒 如何保障数据库服务器的安全 国家网络安全周作品 软件开发高管收入高么 长春市委网络安全2020 orcal数据库的备份 北京态势平台软件开发 网络安全与管理法律法规 魔兽世界 无尽之海服务器
0