解决Linux环境只有root用户才能删除文件


 

解决Linux环境只有root用户才能删除文件

一、概述

  Linux环境下,发现iotapp账号自己建的文件并赋予777权限,其他用户无法删除,iotapp也无法删除,只有root用户和用WinSCP通过SFTP方式可以删除。

二、排查

  1. 本用户无法删除自己创建的文件。

  2. 排查父级目录权限,发现正常。

  3. 切换至root账号,发现能删除。

  4. lsattr显示文件属性,看这个文件是否具有 i 和 a 属性,如果有可以通过chattr -ia ./test.txt去除(这里 '-' 的意思表示去除文件属性, 同理,"+" 表示设置文件的属性);

  •    a :设置a之后,这个文件将只能增加数据,而不能删除也不能修改数据,只有root才能设置这个属性。
  •     i :它可以让一个文件不能被删除、改名,设置连接也无法写入或添加数据。只有root才能设置这个属性。

   发现文件未被限制为不能被删除。

  5. lsattr查看父级属性,发现正常。

  6. iotapp账号,用WinSCP通过SFTP连到服务器,可以删除此文件。

  7. 在终端命令行,除root外任何账号不能删除文件,而sftp可以删除,怀疑是 rm 程序的问题,root用户下,ll /bin/rm 查看rm程序,发现除root外,其他账号没有执行rm程序的权限。

  8. chmod 755 /bin/rm修改权限后,iotapp可以删除此文件。

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM