2 dongshizhishui dongshizhishui 于 2017.01.16 16:19 提问

Linux中的open函数怎样生成rwxrwxrwx权限的文件

Linux中的open函数怎样生成rwxrwxrwx权限的文件

2个回答

stavck
stavck   2017.01.16 16:29

头文件
#include /*提供类型pid_t,size_t的定义*/
#include
#include
函数原型
int open(const char *path, int oflags,mode_t mode);
函数说明
open建立了一条到文件或设备的访问路径。
open函数一般用于打开或者创建文件,在打开或创建文件时可以制定文件的属性及用户的权限等各种参数。

第一个参数path表示:路径名或者文件名。路径名为绝对路径名(如C:/cpp/a.cpp),文件则是在当前工作目录下的。
第二个参数oflags表示:打开文件所采取的动作。
可能值:必须指定下面某一种:
O_RDONLY(只读),
O_WRONLY(只写),
O_RDWR(可读可写)
打开/创建文件时,至少得使用上述三个常量中的一个,以下常量是选用的:
O_APPEND 每次写操作都写入文件的末尾
O_CREAT 如果指定文件不存在,则创建这个文件
O_EXCL 如果要创建的文件已存在,则返回 -1,并且修改errno的值
O_TRUNC 如果文件存在,并且以只写/读写方式打开,则清空文件全部内容
O_NOCTTY 如果路径名指向终端设备,不要把这个设备用作控制终端。
O_NONBLOCK 如果路径名指向 FIFO/块文件/字符文件,则把文件的打开和后继 I/O
设置为非阻塞模式(nonblocking mode)
第三个参数mode表示:设置文件访问权限的初始值。(与用户掩码umask变量有关,实际的访问权限有mode &~umask确定)
S_IRUSR,S_IWUSER,S_IXUSR,S_IRGRP,S_IWGRP,S_IXGRP,S_IROTH,S_IWOTH,S_IXOTH.其中R:读,W:写,X:执行,USR:文件所属的用户,GRP:文件所属的组,OTH:其他用户。

注:第三个参数是在第二个参数中有O_CREAT时才用作用。若没有,则第三个参数可以忽略。
返回值:如果操作成功,它将返回一个文件描述符,如果失败,返回-1

dongshizhishui
dongshizhishui 这个试过了。不可以,是不是和编译环境有关系。
一年多之前 回复
YJB666
YJB666   2017.01.19 10:53

切换到root 用户 用chmod 修改即可

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
linux中权限(-rwxrwxrwx=777)
当你在linux下用命令ll 或者ls -la的时候会看到这些字眼,这些字眼表示为不同用户组的权限: r:read就是读权限 --数字4表示 w:write就是写权限 --数字2表示 x:excute就是执行权限 --数字1表示 这里总共会有10个“-”,第一个表示文件类型,如该文件是文件(-表示),文件夹(d表示),连接文件(l表示),后面9个按照三个一组分,如: -xrwxrw---
chmod 权限777 -rwxrwxrwx是什么意思
在Unix和Linux的各种操作系统下,每个文件(文件夹也被看作是文件)都按读、写、运行设定权限。 例如我用ls -l命令列文件表时,得到如下输出: -rw-r--r-- 1 bu users 2254 2006-05-20 13:47 tt.htm 从第二个字符起rw-是说用户bu有读、写权,没有运行权,接着的r--表示用户组users只有读权限,没有运行权,最后的r--指其他人(ot
linux 权限rwxrwxrwx(4 2 1)详细说明
三个三个一组看: 1. 第一段表示文件所有者对此文件的操作权限 2. 第二段表示文件所有者所在组对些文件的操作权限 3. 第三段表示除上述两种外的任何用户/组对此文件的操作权限 x执行:1 r写入:2 w读取:4 加起来就好了。 比如rwxrwxrwx是777 rwx------ 是700
[小技巧]open()函数创建文件时便捷的权限设置
open()函数创建文件时便捷的权限设置头文件#include <sys/types.h> #include <sys/stat.h> #include <fcntl.h>函数原型int open( const char * pathname, int flags);int open( const char * pathname,int flags, mode_t mode);当flags参
open函数生成文件的权限设置问题
代码: fd = open (“test”, O_RDWR | O_CREAT , S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP | S_IROTH)  使用这个代码,可以为用户设置写权限,但无法为组和其他用户设置写权限....... -rw-r--r--....... 解决办法: open 生成文件的权限是由你设置的权限位和 用户账号的
drwxrwxrwx权限对应数字
常用的linux文件权限: 444 r--r--r-- 600 drw------- 644 drw-r--r-- 666 drw-rw-rw- 700 drwx------ 744 drwxr--r-- 755 drwxr-xr-x 777 drwxrwxrwx 从左至右,1-3位数字代表文件所有者的权限,4-6位数字代表同组用户的权限,7-9数字代表其他用户的
Linux中C语言open函数打开或创建文件详细讲解
头文件: #include #include #include 函数原型: int open( const char * pathname, int flags); int open( const char * pathname,int flags, mode_t mode); 作用:以各种方式打开文件 返回值:返回打开的文件句柄,-1 打开失败 函数说明 参数pa
linux 权限掩码函数 umask 介绍
1 简介      linux中的 umask 函数主要用于:在创建新文件或目录时 屏蔽掉新文件或目录不应有的访问允许权限。     文件的访问允许权限共有9种,分别是:rwxrwxrwx     它们分别代表:用户读 用户写 用户执行 组读 组写 组执行 其它读 其它写 其它执行 2 功能及参数介绍     功能说明:指定在建立文件时预设的权限掩码。     语法:umask [-S
rwxrwxrwt t权限问题
rwsr-xr-x = 4755 文件执行的时候,会以owner的身份来执行,就是setuid 。例如:-rwxr-xr-t  1 root      wheel         0  7  9 18:24 test这个test 是允许同组或其他人运行的,但是他运行的时候去可以控制那些root 属性的文件或设备。再来一个特殊点点的东西。关于目录安全性的。#ls -la /tmpdrwxrwxrwt
Linux文件权限[-rwxrwx---]
Linux文件权限详解  转自:http://blog.chinaunix.net/uid-25052030-id-174343.html 文件和目录权限概述 在linux中的每一个文件或目录都包含有访问权限,这些访问权限决定了谁能访问和如何访问这些文件和目录。 通过设定权限可以从以下三种访问方式限制访问权限:只允许用户自己访问;允许一个预先指定的用户组中的用户访问;允许系统中