深入了解Linux中的it权限 (linux 中的权限it)

在Linux操作系统中,it权限是一种非常重要的权限设置方式。它可以让用户在创建并共享目录的过程中,授予其他用户对该目录下文件的操作权限,同时防止其他用户对该目录进行删除。在理解it权限的重要性之前,我们需要先了解Linux中的基本权限和含义。

Linux中的一般权限包括:

r:read,读权限

w:write,写权限

x:execute,执行权限

d:directory,目录权限

-:没有权限

在Linux中,每个文件和目录都有这些基本权限。例如,对于一个文件,它有读权限,意味着用户可以读取文件中的内容;如果它有写权限,用户可以编辑并保存文件内容;如果它有执行权限,用户可以执行文件中的程序。对于文件夹,它有写权限意味着用户可以在文件夹中创建或编辑文件或文件夹。

但是,在共享目录中创建的文件或目录,除非进行特殊设置,否则任何人都可以删除它。这是为了确保目录下的文件始终与共享目录的其他用户相一致,并且不会被不同的用户删除。这时,it权限就派上用场了。

Sbit权限是什么?

Sbit权限是在Linux文件系统中的一个特殊权限比特。它通常用于共享目录,它的作用是仅允许所有者与当时的it属主(全称Sticky Bit)删除文件。所有其他人都没权限删除。它可以确保其他用户不能删除目录下的文件,只有该目录的所有者和root用户才有删除的权利。

Sbit权限可以应用于目录上,例如目录/tmp,这是多个用户可以共享的目录。如果在/tmp文件夹上启用了it权限,则/tmp目录下的所有文件和文件夹都无法被其他用户删除,只有该文件夹的所有者和root用户才有删除权限。

Sbit权限的应用

Sbit权限通常应用于共享目录,主要有以下几个方面的考虑:

1.防止被删除

Sbit权限可以让用户创建和共享目录,但防止其他用户删除该目录下的文件或文件夹,特别是误删情况的发生。它可以确保其他用户不能删除目录下的文件,只有该目录的所有者和root用户才有删除的权利。这是一个非常实用的功能,可以确保文件的安全和完整性。

2.共享目录

当多个用户共享一个目录时,Sbit属性可确保所有的用户可读,但不可修改或删除文件夹中的文件。这有助于保护所属的文件和文件夹,保证在多个用户之间共享时,目录的安全性。

3.加强对临时文件的保护

临时文件是程序或应用在运行时需要创建的,一旦程序或应用运行结束,就会被删除。这些临时文件通常包括一些秘密信息,如密码、身份证号码等,一旦泄露有可能被恶意使用。在这种情况下,启用it属性可以保护这些临时文件不被外界篡改,以确保安全。

Sbit权限的设置

Sbit权限可通过以下方式设置:

1.通过chmod命令设置。

使用命令sudo chmod +t directory,其中“directory”是你想要设置Sbit的目录名称即可。例如:sudo chmod +t /home/test。

2.通过ls-l命令查看当前目录下的Sbit设置。

在command shell中输入ls -l 命令,会列出当前目录下的所有文件和目录,并显示它们所有的属性,包括Sbit。例如:

-rwsr-xr-t. 1 root root 213 Dec 28 12:00 filename

其中,最后一个字符“t”代表it权限已经启动。

Sbit权限是Linux操作系统中非常关键的一种权限设置方式。它可以确保文件或目录的安全性和完整性,防止误删或泄露机密信息,并帮助实现多用户共享的安全性和高效性。对于需要多用户协作或共享文件的用户来说,熟练掌握Sbit权限的应用非常重要。

相关问题拓展阅读:

linux 提权-SUID提权

最近想着学习linux提权的一些姿势,这里简单分享学习SUID提权的一些知识点。

先来父复习一下linux文件的权限分配。

ls命令用来查看系统上面的文件、目录的权限。

字段的之一个字符表示对象的类型。

之后是每三个字符为一组,每一组定义了3种访问权限。

这三组分别表示文件所有者(Owner)、用户组(Group)、其它用户(Other Users)。

然后规定用数字4、2和1表示读、写、执行权限。即r=4,w=2,x=1。

所以

chmod改变权限

chown用来更改某个目录或文件的用户名和用户组

该命令需要root权限运行

而文件权限除了r、w、x外还有s、t、i、a权限。

SUID

当执行的文件被赋予了s权限,就被称搜含猛为Set UID,简称为SUID的特殊权限。八进制数为4000。

举个例子:

linux修改密码的passwd就是个设置了SUID的程序。因为如果普通账号cseroad需要修改密码,就要访问/etc/shadow,但是该文件只有root能访问。那他是怎老雀么修改的呢?原理:

查看该程序,发现被赋予了s权限。当cseroad需要修改自己的密码时,passwd程序的所有者为root,cseroad用户执行passwd 程序的过程中会暂时获得root权限,所以可以修改/etc/shadow文件。

SGID

而当s标志出现在用户组的x权限时则称为SGID。八进制数为2023。

当用户对某一目录有写和执行权限时,该用户就可以在该目录下建立文件,如果该目录用SGID修饰,则该用户在这个目录下建立的文件都是属于这个目录所属的组。(父目录跟随)

SBIT

就是Sticky Bit,出现在目录的其他用户执行权限X上,标记为世桥T,八进制数为1000。对目录有效,使用者只能对自己创建的文件或目录进行删除/更名/移动等动作,而无法删除他人文件(除非ROOT)

赋予s权限:chmod 4755 filename 或者 chmod u+s /usr/bin/find

取消s权限:chmod 755 filename 或者 chmod u-s /usr/bin/find

以centos为例。

还有额外的几个命令

我们就可以通过覆盖/etc/passwd文件,提权为root

默认该命令没有s权限

find命令

假如find命令被赋予s权限。

创建a.txt文件,执行 /usr/bin/find a.txt -exec /bin/bash -p \; ,成功提权。

这里注意的是新版Linux系统对子进程的suid权限进行了限制,不同的操作系统结果也会不一样。

具体细节参考

利用python可反弹得到root权限的shell

python命令

根据 查找python利用姿势。

条件是sudo安装时需要输入当前用户密码。

在实战过程中,多查看 是否存在SUID提权,以及使用searchsploit命令查看某程序是否存在本地提权漏洞。

linux 中的权限it的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于linux 中的权限it,深入了解Linux中的it权限,linux 提权-SUID提权的信息别忘了在本站进行查找喔。


数据运维技术 » 深入了解Linux中的it权限 (linux 中的权限it)