Linux系统编程12-chmod
在 Linux 中,chmod
函数用于更改文件或目录的访问权限。
#include <sys/stat.h>
int chmod(const char *pathname, mode_t mode);
修改文件的权限
参数:
- pathname: 需要修改文件的路径
- mode: 需要修改的权限值,八进制的数
返回: 0 成功 , -1 失败
权限模式是一个八进制的数,它包含了三种权限(读、写、执行)分别对应的值为 4、2、1。因此,它们的组合可以得到不同的权限值,例如:
- 只读权限:
0444
或S_IRUSR | S_IRGRP | S_IROTH
- 只写权限:
0222
或S_IWUSR | S_IWGRP | S_IWOTH
- 可执行权限:
0111
或S_IXUSR | S_IXGRP | S_IXOTH
- 读写权限:
0666
或S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP | S_IROTH | S_IWOTH
- 所有权限:
0777
或S_IRWXU | S_IRWXG | S_IRWXO
chmod
函数可以更改指定路径下的文件或目录的访问权限,权限的改变会影响该文件或目录的用户、用户组、其他用户的访问权限。
需要注意的是,chmod
函数只能更改由调用进程拥有的文件或目录的权限,也就是说,如果当前进程没有该文件的所有权,则无法更改该文件的权限。
实例: 修改文件的权限
chmod.c
#include <sys/stat.h>
#include <stdio.h>
int main(int argc, char const *argv[])
{
int ret = chmod("english.txt", 0775);
if (ret == -1)
{
perror("chmod err");
return -1;
}
return 0;
}
本文作者:言叶以上
本文链接:https://www.cnblogs.com/anqwjoe/p/16793197.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步