chmod、chown函数的使用

#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;
}

猜你喜欢

转载自blog.csdn.net/qq_33883085/article/details/88703983