summaryrefslogtreecommitdiff
path: root/myfind/group_belong/group_belong.c
blob: 20302d553f8ccbb61ef645da5f21fd962c3c9f48 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#include <grp.h>
#include <stdio.h>
#include <sys/stat.h>

int main(int argc, char **argv)
{
    if (argc != 3)
        return 2;

    struct group *g = getgrnam(argv[2]);
    if (!g)
    {
        printf("group %s does not exist\n", argv[2]);
        return 0;
    }
    struct stat s;
    stat(argv[1], &s);

    printf("%s does ", argv[1]);
    if (s.st_gid != g->gr_gid)
        printf("not ");
    printf("belong to group %s\n", argv[2]);

    return 0;
}