在创建时怎么设置文件权限
时间: 2024-02-21 17:59:04 浏览: 97
在创建文件时,可以使用系统调用 `open()` 或 `creat()` 来进行文件创建,并且可以在参数中指定文件的权限。在 Linux 系统中,可以使用以下三个标志来设置文件的权限:
1. `S_IRUSR`:文件所有者拥有读权限。
2. `S_IWUSR`:文件所有者拥有写权限。
3. `S_IXUSR`:文件所有者拥有执行权限。
此外,还有以下三个标志可用于设置其他用户的权限:
1. `S_IRGRP`:文件所属组拥有读权限。
2. `S_IWGRP`:文件所属组拥有写权限。
3. `S_IXGRP`:文件所属组拥有执行权限。
最后还有以下三个标志可用于设置其他用户的权限:
1. `S_IROTH`:其他用户拥有读权限。
2. `S_IWOTH`:其他用户拥有写权限。
3. `S_IXOTH`:其他用户拥有执行权限。
例如,要创建一个权限为 `rw-r--r--` 的文件,可以这样写:
```c
int fd = open("filename", O_CREAT | O_WRONLY, S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH);
```
其中 `O_CREAT` 表示如果文件不存在则创建文件,`O_WRONLY` 表示以只写方式打开文件,`S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH` 表示设置文件的权限。