如何使用open()安全地设置标志?

问题描述 投票:1回答:2

此问题:What's the connection between flags and mode in open file function in C

在评论中:

问题

如果我使用'S_IRUSR'作为文件的模式位,open(),然后其他人使用“ O_RDONLY”作为标志调用open()能够读取文件

answer

同一用户将能够读取该文件。而且,只是技术问题,不是其他用户将无法读取文件,而是他们将无法打开文件

因此,我问过在打开(重新创建)新文件时设置权限的意义是什么,这就是为什么我在这里询问。还提到了:

作为一个极端示例,它们可能具有对目录的写访问权表示他们可以重命名您的文件,将其复制到原始名称,有权访问该名称,然后删除已重命名的名称。权限确实有效但是您必须确保它们设置正确(例如确保指向文件的整个路径,而不仅仅是文件本身。

所以我不明白“正确设置标志”的含义。当权限设置不安全时,它仍然不了解权限设置的目的。有人可以解释一下吗?

c io flags
2个回答
2
投票

所以我问过打开时设置权限有什么意义(分别创建)新文件,这就是为什么我在这里询问。有还提到:


0
投票
我将尽力解释得越短越好。如果在文件系统中的某处执行“ ls -la”,则可以看到与下面的文件列表类似的内容。它显示了Linux和类似操作系统上文件系统的权限基础。运行“ man chmod”将对其进行详细说明。您还应该看到“ man 3 chmod”功能说明。

除了其他设置外,正确设置文件和目录的权限对于安全至关重要。基本上,用户应具有最小的特权才能完成其法律任务。

drwx r-x r-x 2 root root 4096 Dec 14 23:55 . drwx r-x r-x 24 root root 4096 Dec 5 19:02 .. -rwx r-x r-x 1 root root 1113504 Jun 7 2019 file1 -rwx r-x r-x 1 root root 748968 Aug 29 2018 file2 -rwx r-x r-x 1 root root 34888 Jul 4 2019 file3 ... -rwx r-x r-x 1 root root 34888 Jul 4 2019 file_n ^^^ ^^^ ^^^ | | | | | +---------------------- permissions other users | +-------------------------- permissions for group members +------------------------------ permissions for owner d - is a directory r - read permission w - write perrmision x - execute permission

© www.soinside.com 2019 - 2024. All rights reserved.