加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

如何在UNIX / tmp目录中创建文件,以便所有用户都可以读写它?

发布时间:2020-12-15 22:25:19 所属栏目:安全 来源:网络整理
导读:我正在尝试在/ tmp目录中创建一个文件(在 Linux UBUNTU 7.10上工作),该文件具有任何用户的读/写/执行访问权限.所以我使用“open(fileName,O_CREAT | O_RDWR,0777)”函数在user1帐户中创建文件(来自C程序),我希望user2能够写入特定文件. 但是,当我检查/ tmp目
我正在尝试在/ tmp目录中创建一个文件(在 Linux UBUNTU 7.10上工作),该文件具有任何用户的读/写/执行访问权限.所以我使用“open(fileName,O_CREAT | O_RDWR,0777)”函数在user1帐户中创建文件(来自C程序),我希望user2能够写入特定文件.
但是,当我检查/ tmp目录(使用ls -l)时,我看到我没有user2的写访问权限(考虑到user1创建它的事实,我有user1的写访问权限,但是user2,被认为是成为“其他人”没有任何访问权限.
我试图在open函数中使用模式0766(以及模式的7和6的这种组合),这样我可以获得user2的写访问权限,但我仍然没有所需的访问权限.

解决方法

您必须将umask设置为000. umask上的位将从您选择的权限中删除,默认的umask通常为022或002.

请注意,默认ACL和SELinux标签之类的内容也可能会影响文件的可读性和可写性.使用getfacl查看ACL和ls -Z以查看SELinux标签;对于SELinux,您还必须知道哪些策略处于活动状态以及它们具有哪些效果.在ls -l上也可以看到ACL的存在作为权限之后的字符.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读