网站开发技术

记点笔记、 学点技术 欢迎交流建站技术。本站关注lamp技术

您尚未登录。

#1 2015-01-27 11:05:49

admin
管理员

linux 通过 open , O_CREAT 创建一个文件,设置文件的权限

测试代码

#include <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <unistd.h>
#include <errno.h>

int main() {
    int fd;
    if (( fd = open("x.txt" , O_CREAT | O_EXCL , 0666)) == -1) {
        perror("错误信息");
        _exit (1);
    } else {
        printf("创建文件成功 \n");
    }

    close (fd);
    return 0;
}

如果程序输出 创建文件成功

表示文件的创建成功, 但是如果发现 文件的权限不是 666。

出现的原因就是  umask 的设置,可以产看 umask 如何设置, 作用是什么

这里设置为  000 就可以(这里是做个测试,不要这么玩,记的改回来)

之后登出系统, 再次登录运行就可以。


ipbbs.net

离线

页脚

Powered by FluxBB