#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->ftp
int ret = chown(argv[1], 116, 125);
if(ret == -1)
{
perror("chown");
exit(1);
}
return 0;
}