背景:朋友在使用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-3.稳态等效电路建模,损耗和效率-3.4 如何获得模型的输入端口

    3.4 如何获得模型的输入端口 Fig 3.16 Buck converter example 让我们尝试使用3.3.3节的步骤来推导图3.16所示的Buck变换器的模型.电感绕组电阻同样由串联电阻\ ...

  2. 死磕Spring之AOP篇 - Spring AOP总览

    该系列文章是本人在学习 Spring 的过程中总结下来的,里面涉及到相关源码,可能对读者不太友好,请结合我的源码注释 Spring 源码分析 GitHub 地址 进行阅读. Spring 版本:5.1 ...

  3. Kafka分片存储、消息分发和持久化机制

    Kafka 分片存储机制 Broker:消息中间件处理结点,一个 Kafka 节点就是一个 broker,多个 broker 可以组成一个 Kafka集群. Topic:一类消息,例如 page vi ...

  4. 大学四年,总结一套适合小白的Java自学路线和方法

    前言篇 大家好,我是bigsai 好久不见,甚是想念,文章同时收录在回车课堂(文底阅读原文可达). 无论你是大学生还是在职人员,想学Java时,都会面临两个选择,自学或者报班.报班通常太费钱,时间又不 ...

  5. Github仓库master分支到main分支迁移指南

    1 概述 2020年10月1日后,Github会将所有新建的仓库的默认分支从master修改为main,这就导致了一些旧仓库主分支是master,新仓库主分支是main的问题,这在有时候会带来一些麻烦 ...

  6. Spring Boot demo系列(二):简单三层架构Web应用

    2021.2.24 更新 1 概述 这是Spring Boot的第二个Demo,一个只有三层架构的极简Web应用,持久层使用的是MyBatis. 2 架构 一个最简单的Spring Boot Web应 ...

  7. 死磕Spring之AOP篇 - Spring AOP两种代理对象的拦截处理

    该系列文章是本人在学习 Spring 的过程中总结下来的,里面涉及到相关源码,可能对读者不太友好,请结合我的源码注释 Spring 源码分析 GitHub 地址 进行阅读. Spring 版本:5.1 ...

  8. 服务器安装node全教程

    我的服务器centos,安装node时出了点小麻烦,在这里记述我的方法. 1.进入node下载网站https://nodejs.org/en/download/,这里右键复制下载链接 2.进入cent ...

  9. text-align: justify 文本对齐

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  10. 【原创】ansible常用模块整理

    一.Ansible模块帮助 ansible-doc -l # 列出 Ansible 支持的模块 ansible-doc ping # 查看该模块帮助信息 二.远程命令模块 2.1command com ...