网络安全系列之四十一 在Linux中设置粘滞位sbit权限

通常情况下用户只要对某个目录具备w写入权限,便可以删除该目录中的任何文件,而不论这个文件的权限是什么。

比如我们进行下面的操作:


#创建/test目录,并赋予777权限。

[[email protected] ~]# mkdir /test

[[email protected] ~]# chmod 777 /test

#以root用户的身份在/test目录中创建文件file1,并查看其默认权限。

[[email protected] ~]# touch /test/file1

[[email protected] ~]# ll /test/file1

-rw-r--r--. 1 root root 0 12月 2 20:32 /test/file1

#以普通用户natasha的身份登录系统,可以删除/test/file1。

[[email protected] ~]$ rm /test/file1

rm:是否删除有写保护的普通空文件 "/test/file1"?y

通过上面的操作可以发现,虽然普通用户natasha对文件/test/file1只具备“r--”权限,但因为从/test目录获得了“rwx”权限,因而仍然可以将/test/file1删除。

在Linux系统中比较典型的例子就是“/tmp”、“/var/tmp”目录。这两个目录作为Linux系统的临时文件夹,权限为“rwxrwxrwx”,即允许任意用户、任意程序在该目录中进行创建、删除、移动文件或子目录等操作。然而试想一下,若任意一个普通用户都能够删除系统服务运行中使用的临时文件,将造成什么结果?

粘滞位权限便是针对此种情况设置,当目录被设置了粘滞位权限以后,即便用户对该目录有写入权限,也不能删除该目录中其他用户的文件数据,而是只有该文件的所有者和root用户才有权将其删除。设置了粘滞位之后,正好可以保持一种动态的平衡:允许各用户在目录中任意写入、删除数据,但是禁止随意删除其他用户的数据。

需要注意的是,粘滞位权限只能针对目录设置,对于文件无效。

设置了粘滞位权限的目录,使用ls命令查看其属性时,其他用户权限处的“x”将变为“t”。

例如,查看/tmp、/var/tmp目录本身的权限,确认存在“t”标记。


[[email protected] ~]# ll -d /tmp

drwxrwxrwt. 16 root root 4096 12月 2 17:16 /tmp

[[email protected] ~]# ll -d /var/tmp

drwxrwxrwt. 3 root root 4096 12月 2 09:46 /var/tmp

粘滞位权限都是针对其他用户(other)设置,使用chmod命令设置目录权限时,“o+t”、“o-t”权限模式可分别用于添加、移除粘滞位权限。

例如,为/test目录设置粘滞位权限。


[[email protected] ~]# chmod o+t /test

[[email protected] ~]# ll -d /test

drwxrwxrwt. 2 root root 4096 12月 2 20:39 /test

此时普通用户natasha便无法删除/test/file1文件了。


[[email protected] ~]$ rm /test/file1

rm:是否删除有写保护的普通空文件 "/test/file1"?y

rm: 无法删除"/test/file1": 不允许的操作

粘滞位权限在生产环境中也被广泛应用,当需要为用户提供一个开放目录而又不希望造成管理混乱时,通过为目录设置粘滞位权限便可以解决问题。

时间: 2024-10-25 07:32:53

网络安全系列之四十一 在Linux中设置粘滞位sbit权限的相关文章

网络安全系列之四十 在Linux中设置SET位权限

虽然通过ACL增加了权限设置的灵活性,但是Linux系统中可供设置的权限只有读.写.执行三种,在某些特殊的场合,这可能将无法满足要求.因而,在Linux系统中还提供了几种特殊的附加权限,用于为文件或目录提供额外的控制方式,可用的附加权限包括:SET位权限(SUID.SGID)和粘滞位权限(Sticky Bit).本文将介绍SET位权限. SET位权限多用于给可执行的程序文件或目录进行设置,其中SUID表示对所有者用户添加SET位权限,SGID表示对所属组内的用户添加SET位权限.当一个可执行文件

linux下的粘滞位权限

1.为什么要有粘滞位? Linux中有一个存放临时文件的目录/tmp(类似于Windows中的temp目录),每个用户产生的临时文件都存放在此目录下,也就是说每个用户对/tmp目录都应该有写权限(否则无法拷贝生成文件),这样造成一个问题,比如,A同学在/tmp目录下创建了一个文件,B同学看着不爽就可以删掉,这如何控制?其实,这种情况永远都不会发生,因为/tmp目录有一个特殊的权限标记: 瞧见那个rwx权限最后的"t"了没,那个神奇的"t"就是粘着位t(有的资料中文也

网络安全系列之三十一 组策略中的用户权限分配

在Win2003系统中打开组策略编辑器,展开[计算机配置\Windows设置\安全设置\本地策略\用户权限分配]. 通过用户权限分配,可以为某些用户和组授予或拒绝一些特殊的权限,如关闭系统.更改系统时间.拒绝本地登录.允许在本地登录等. 常用的用户权限分配策略主要有以下几个: (1)"从网络访问此计算机" 默认情况下任何用户都可以从网络访问计算机,可以根据实际需要撤销某用户或某组用户从网络访问计算机的权限. (2)"拒绝从网络访问这台计算机" 如果某些用户只在本地使

网络安全系列之四十七 在IIS6中申请并安装证书

之前通过设置基本身份验证,可以实现客户端在访问指定的虚拟目录时,必须要输入用户名和密码进行验证,但是基本身份验证的信息在网络中是明文传输的,我们可以通过为站点申请并安装证书,来实现数据的加密传输.实验环境中的CA证书服务器已经搭建好,这里只介绍在Web服务器上的证书申请和安装过程. (1)生成证书请求 在Web服务器上右击需要申请证书的网站,打开属性界面,选择"目录安全性"选项卡,并单击"服务器证书"按钮,如图所示. 在"IIS证书向导"中选择&

网络安全系列之四十三 在IIS6中配置ASP网站

本文将介绍如何在Win2003系统中通过IIS6.0来搭建一个ASP网站,网站数据库采用的是ACCESS,对于这类简单的小型数据库,无需安装数据库程序,只需直接配置IIS即可. 首先在添加删除组件中选择安装应用程序服务器,在安装过程中需要插入系统安装光盘: 安装完成后,打开IIS管理器,将默认站点停止运行,然后新建一个名为test的站点. 在创建站点时给予运行脚本权限. 站点创建完成后,设置站点属性,启用父路径.所谓父路径也就是在网页中允许使用"../"来代表上一级父目录. 在Web服

Linux中相关知识(atexit(),fork(),粘滞位)

1.atexit()函数 函数名: atexit 头文件:#include<stdlib.h> 功 能: 注册终止函数(即main执行结束后调用的函数) 用 法: int atexit(void (*func)(void)); 注意:一个进程可以登记32个函数,这些函数由exit自动调用,这些函数被称为终止处理函数,atexit函数可以登记这些函数. exit调用终止处理函数的顺序和atexit登记的顺序相反,如果一个函数被多次登记,也会被多次调用. 程序例: #include <std

【转】Linux中的特殊权限粘滞位(sticky bit)详解

在linux下每一个文件和目录都有自己的访问权限,访问权限确定了用户能否访问文件或者目录和怎样进行访问.最为我们熟知的一个文件或目录可能拥有三种权限,分别是读.写.和执行操作,在这里不做详细说明.我们创建一个文件后系统会默认地赋予所有者读和写权限.当然我们也可以自己修改它,添加自己需要的权限. 特殊权限 但是这三种权限就足够了吗?我们现在来说说在linux下的另一个特殊权限.首先我们来看看在根目录下的一个目录tmp,可以看到tmp目录的other权限是'rwt',那么这里的t又是什么权限呢,有什

Linux 文件系统权限小结-基本权限-粘滞位-ACL

突然有人问道:drwxrwxrwx+后面的+号是干什么的,挺熟悉又想不起来,百度下后得到结果,最终总结一下Linux系统下关于文件权限的知识,在此记录下. 1.正常情况下,Linux文件系统中的文件权限为: drwxr-xr-x 2 root root 4096 5月  24 15:12 directory -rw-r--r-- 1 root root    0 5月  24 15:12 file.txt 十位第一位为文件属性,d为目录,-为普通文件,c表示为字符设备文件,b表示为块设备文件,s

在linux中设置静态ip地址

在linux中设置静态ip地址1.在终端中输入:vi /etc/sysconfig/network-scripts/ifcfg-eth0 2.开始编辑,填写ip地址.子网掩码.网关.DNS等[[email protected] 桌面]# cat /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0  #设备名称TYPE=Ethernet #网络类型UUID=bfafdad5-e1c9-4adf-864b-c772e4965ab7ONBOOT=