背景:朋友在使用php进行mv操作时,出现了权限被拒绝的问题.查看之后,发现目录设置了sticky权限,取消此权限后,文件可以正常mv及删除.

Sticky:对于一个多人可写的目录,如果设置了sticky,则每个用户仅能删除自己的文件(马哥语录,见 马哥Linux base学习笔记)

如下图所示,这是一个加了sticky权限的目录

# mkdir sticky_test
# chmod 1777 sticky_test
# ll -d sticky_test
drwxrwxrwt. 2 root root 4096 Jun 29 17:06 sticky_test

使用redheat用户进入sticky_test目录,touch一个文件,并对该文件添加777权限

$ whoami
redheat
$ touch redheat_file
$ chmod 777 redheat_file
$ ll
total 0
-rwxrwxrwx. 1 redheat redheat 0 Jun 29 17:10 redheat_file

正常来说,添加了777权限的文件,任何用户可以对其执行读,写,执行的操作

现在使用myuser用户进入该目录,执行删除操作

$ whoami
myuser
$ ll
total 0
-rwxrwxrwx. 1 redheat redheat 0 Jun 29 17:10 redheat_file
$ rm -rf redheat_file
rm: cannot remove `redheat_file': Operation not permitted

可以发现,系统给出了权限被拒绝的提示.

换回redheat用户,执行删除操作

$ rm -rf redheat_file
$ ll
total 0

命令可以正常执行.

再次创建该文件,并使用root用户将文件的属组更改为myuser

# chown .myuser redheat_file
# ll
total 0
-rwxrwxrwx. 1 redheat myuser 0 Jun 29 17:18 redheat_file

再次使用myuser用户执行删除命令

$ ll
total 0
-rwxrwxrwx. 1 redheat myuser 0 Jun 29 17:18 redheat_file
$ rm -rf redheat_file
rm: cannot remove `redheat_file': Operation not permitted

仍然是不可以删除的.

使用root用户,将目录的sticky权限去掉,同时将redheat_file文件的所属组改回redheat用户

# chmod o-t sticky_test
# ll -d sticky_test
drwxrwxrwx. 2 root root 4096 Jun 29 17:18 sticky_test
# chown redheat.redheat sticky_test/redheat_file
# ll sticky_test/redheat_file
-rwxrwxrwx. 1 redheat redheat 0 Jun 29 17:18 sticky_test/redheat_file

使用myuser用户可以成功删除该文件

$ rm redheat_file
$ ll
total 0

总结:当目录设置了sticky权限之后,属组或其他用户,即使对该目录下的文件拥有权限,也无法对该文件执行删除操作.

命令:

对目录设置777权限,同时增加sticky权限
# chmod 1777 sticky_test
对目录设置sticky权限
# chmod o+t sticky_test
删除目录sticky权限
# chmod o-t sticky_test

Linux权限问题(1)-Sticky的更多相关文章

  1. Linux权限扩展

    在LINUX中我们创建文件或文件夹的时候系统总会为我们创建的对象分配一个默认的权限,那么今天我们就了解一下这个默认权限是怎么得来的?以及我们如何来改变系统的默认权限设置? 在LINUX系统中我们打开每 ...

  2. linux权限---【600,644,700,755,711,666,777】 - - 博客频道 - CSDN.NET

    body { font-family: "Microsoft YaHei UI","Microsoft YaHei",SimSun,"Segoe UI ...

  3. linux权限相关操作

    Linux权限管理是Linux中一个十分重要的概念,也是系统安全性的重要保障.这里主要介绍Linux的基本权限和默认权限,通过理论讲解与实验演示,可以详细了解到权限的相关操作及其重要性. 文件权限 [ ...

  4. Linux权限详解 命令之 chmod:修改权限

    权限简介 Linux系统上对文件的权限有着严格的控制,用于如果相对某个文件执行某种操作,必须具有对应的权限方可执行成功. Linux下文件的权限类型一般包括读,写,执行.对应字母为 r.w.x. Li ...

  5. linux权限详解

    一个用户.一个组 我们来看一看 Linux 权限和所有权模型.我们已经看到每个文件属于一个用户和一个组.这正是 Linux 中权限模型的核心.您可以在 ls -l 清单中查看用户和组: $ ls -l ...

  6. linux权限管理-特殊权限

    目录 linux权限管理-特殊权限 一,特殊权限 Linux权限属性chattr概述 linux进程掩码umask linux权限管理-特殊权限 一,特殊权限 1.suid(4000) SetUID( ...

  7. linux 权限笔记

    权限模型 linux权限模型,指的是对文件.文件夹同的读写权限,同用户之间的权限管理模型 三种角色 user 文件.文件夹的创建者,所有人 group 一个group对应多个user,user自动具有 ...

  8. Linux—权限管理

    Linux 权限管理 1.权限简介 Linux权限是操作系统用来限制对资源访问的机制,权限一般分为读.写.执行.系统中每个文件都拥有特定的权限:属主.属组以及其他人,通过这样的机制来限制哪些用户或用户 ...

  9. linux权限系统

    Linux权限分为 r(4):可读 , w(2)可写 , x(1)可执行 , -无权限 , 可以通过ls -l 文件名查看权限 , 如 ls -l 文件名 输出: -rwxrw---x. root r ...

随机推荐

  1. [Fundamental of Power Electronics]-PART I-5.不连续导电模式-5.3 Boost变换器实例

    5.3 Boost变换器实例 作为第二个示例,考虑图5.12的Boost变换器.让我们来确定不同模式的边界并且求解DCM下的电压变换比.此前在2.3节中分析了在CCM工作的Boost变换器的特性,并确 ...

  2. OO第三单元小结

    目录 JML理论基础 JML工具链 openjml使用 openjml总结 jmlunitng使用 代码分析 第一次作业 第二次作业 第三次作业 测试&bug分析 黑盒测试 白盒测试(Juni ...

  3. (三)Struts2的Action(简单讲解版)

    Actions是Struts2框架的核心,因为它们适用于任何MVC(Model View Controller)框架. 每个URL映射到特定的action,其提供处理来自用户的请求所需的处理逻辑.但a ...

  4. 并发编程(ReentrantLock&&同步模式之顺序控制)

    4.13 ReentrantLock 相对于 synchronized 它具备如下特点 可中断 可以设置超时时间 可以设置为公平锁 支持多个条件变量,即对与不满足条件的线程可以放到不同的集合中等待 与 ...

  5. Salesforce学习之路(六)利用Visualforce Page实现页面的动态刷新功能

    Visualforce是一个Web开发框架,允许开发人员构建可以在Lightning平台上本地托管的自定义用户界面.其框架包含:前端的界面设计,使用的类似于HTML的标记语言:以及后端的控制器,使用类 ...

  6. .NET6 平台系列2 .NET Framework框架详解

    系列目录     [已更新最新开发文章,点击查看详细] 什么是 .NET Framework? .NET Framework 是 Windows 的托管执行环境,可为其运行的应用提供各种服务. 它包括 ...

  7. Review: JQuery

    1.DOM access with jQuery 1 $("h1"); //select all the h1s 2 $("#heading"); // sel ...

  8. 1.4.15- HTML标签之链接标签

    代码如下: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF ...

  9. 【Nginx(四)】Nginx配置集群 负载均衡策略

    1.Nginx常见的负载均衡策略 ip_hash (固定分发) 简介:根据请求按访问ip的hash结果分配,这样每个用户就可以固定访问一个后端服务器 场景:服务器业务分区.业务缓存.Session需要 ...

  10. 【SpringBoot】Springboot2.x整合Redis(一)

    备注: springboto整合redis依赖于spring-boot-starter-data-redis这个jar 一,项目环境和依赖 1.POM.xml配置 <parent> < ...