Do zrobienia mam zadanie tej treści:
Napisać funkcję, która odczytuje login zalogowany użytkownika na tej
podstawie wyświetla:
-nazwę użytkownika
-jego ID
-ID jego grupy
-pełną nazwę użytkownika lub aplikacji
-katalog domowy
-nazwę powłoki
Doszedłem do tego momentu i nie wiem co dalej, jak dodać katalog domowy i nazwę powłoki ? Będę wdzięczny za pomoc.
#include <unistd.h>
#include <sys/types.h>
#include <stdio.h>
#include <pwd.h>
#include <grp.h>
#include <stdlib.h>
void print_group(gid_t group_id);
int main(int argc, char *argv[])
{
uid_t user_id;
gid_t group_id;
struct passwd *user_entry;
struct group *group_entry;
int liczba_grup, licznik_grup, i;
gid_t *groups;
// pobierz ID uzytkownika
user_id = getuid();
// pobierz ID główenj grupy
group_id = getgid();
// pobierz nazwe uzytkownika
user_entry = getpwuid(user_id);
printf("uid=%u(%s) ", user_id, user_entry->pw_name);
printf("gid=%u(%s) ", group_id, group_entry->gr_name);
return 0;
}