Linux   发布时间:2022-04-01  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了linux – 只读权限仍允许保存大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
@H_262_2@

概述

我有一个奇怪的权限情况,我无法解释.让我解释一下我的用户和组,然后显示文件夹权限. drwxrwsr-x. 2 jenkinsuser applog 4096 Jul 15 09:56 . drwxrwxr-x. 13 jenkinsuser jenkinsuser 4096 Jul 15 09:40 .. -rw-r--r--. 1 apache applog
@H_262_2@
@H_262_2@ @H_262_2@
我有一个奇怪的权限情况,我无法解释.让我解释一下我的用户和组,然后显示文件夹权限.
drwxrwsr-x.  2 jenkinsuser applog        4096 Jul 15 09:56 .
drwxrwxr-x. 13 jenkinsuser jenkinsuser   4096 Jul 15 09:40 ..
-rw-r--r--.  1 apache      applog      750409 Jul 15 09:56 application.log

我有2个用户apache和jenkinsuser.两者都是名为applog的组合.我有一个日志文件夹,其中包含上面显示的权限.该文件夹具有SGID设置,因此任何新文件都将该组设置为applog.正如您所看到的,application.log文件文件设置了rw-r – r–,我理解这是因为apache用户是唯一可以写入该文件用户.

作为jenkinsuser,我能够使用vi / vim打开文件,因为applog具有只读访问权限.当我保存它时(例如:vi中的w)它表示’readonly’选项已设置(添加!以覆盖).当我强制保存(例如:在vi中的w!)时,它会使用下面显示的新权限进行保存.

drwxrwsr-x.  2 jenkinsuser applog        4096 Jul 15 11:24 .
drwxrwxr-x. 13 jenkinsuser jenkinsuser   4096 Jul 15 09:40 ..
-rw-r--r--.  1 jenkinsuser applog      750448 Jul 15 11:24 application.log

所以我的问题是,为什么jenkinsuser强制保存文件,如果它没有写入权限?我错过了什么?

@H_262_2@

解决方法@H_419_14@
vi删除了旧文件,并编写了一个有相名称的新文件.您有权删除文件,因为您对包含它的目录具有写入权限.要删除文件,请通过删除对现有文件的引用来更改(写入)目录inode.当文件的引用计数变为零时,文件系统随后释放文件的inode和空格.接下来,通过向其添加文件,再次写入目录inode.

要防止这种情况发生,您需要删除目录的写入权限.

请注意,您可能还在文件和目录上有一些ACL,这些ACL会覆盖您在ls -l中看到的权限.见.在列表的每一行的权限右侧?这表明某些ACL处于活动状态.要查看它们,请运行getfacl / dir / name.

@H_262_2@

@H_262_2@@H_262_2@

大佬总结

以上是大佬教程为你收集整理的linux – 只读权限仍允许保存全部内容,希望文章能够帮你解决linux – 只读权限仍允许保存所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。