#include <sys/stat.h>
int chmod(const char *path, mode_t mode);
int fchmod(int fd, mode_t mode);
作用:改变指定文件的权限。第二个参数:mode必须为一个8进制数;返回值为0表示成功,-1表示失败。
//代码
#include <stdio.h>
#include <stdlib.h>
#include <sys/stat.h>int main(int argc, char* argv[])
{if(argc < 2){printf("a.out filename\n");exit(1);}int ret = chmod(argv[1], 0755); //0开头,8进制数,该方式仅仅只是修改了所属主、所有者和其它用户的权限。if(ret == -1){perror("chmod");exit(1);}return 0;
}
#include <unistd.h>
int chown(const char *path, uid_t owner, gid_t group);
int fchown(int fd, uid_t owner, gid_t group);
int lchown(const char *path, uid_t owner, gid_t group);
作用:改变指定文件的所属主和所属组,注意所属主和所属组必须用身份号码ID指定,不能用名字。
0成功 -1失败 用户ID和组ID 可以使用id命令或者在/etc/passwd文件中查看,/etc/passwd文件:用户名:加密后的密码:用户ID:组ID:用户名和注释字段:用户家目录:终端类型
//代码
#include <stdio.h>
#include <stdlib.h>int main(int argc, char* argv[])
{if(argc < 2){printf("a.out filename!\n");exit(1);}// user->ftp group->ftpint ret = chown(argv[1], 116, 125);if(ret == -1){perror("chown");exit(1);}return 0;
}