我是C编程的新手,我想在dir和subdir的文件上实现chmod命令。如何使用C代码更改/显示权限?有人可以帮忙举个例子吗?如果有人能为我提供代码,我将不胜感激。
答案 0 :(得分:11)
有一个chmod功能。来自man 3p chmod:
SYNOPSIS
#include <sys/stat.h>
int chmod(const char *path, mode_t mode);
...
如果您想阅读权限,可以使用stat。来自man 3p stat:
SYNOPSIS
#include <sys/stat.h>
int stat(const char *restrict path, struct stat *restrict buf);
...
如果你想像你提到的那样递归地进行,你必须自己循环readdir
的结果。
答案 1 :(得分:2)
使用GNU C库,您应该可以直接使用
int chmod (const char *filename, mode_t mode)
int chown (const char *filename, uid_t owner, gid_t group)
检查here ..所有这些功能都在sys/stat.h
答案 2 :(得分:0)
示例:(显示/测试权限)
struct stat st;
int ret = stat(filename, &st);
if(ret != 0) {
return false;
}
if((st.st_mode & S_IWOTH) == S_IWOTH) {
} else {
}