我试图了解os的一些基础知识,并且陷入了标志和权限之间。
如果使用open()
,则遵循以下方式
int fd = open(path, O_CREAT | O_RDWR, 0000);
在哪些情况下我们的文件将具有0000权限,在什么情况下我们的文件将具有0666条件?
起初我以为如果已经创建了文件,我们将以0000权限使用它,如果尚未创建,则将以0666权限创建并使用它。我不确定我是否正确。
答案 0 :(得分:2)
此处您使用的是mode = 0000。如果该文件不存在,则它将分配“ 0000”权限,这意味着没有人(用户,组,其他)具有任何读|写|执行权限。 请使用正确的模式值。