Sponsored Content
Full Discussion: Help with getuid
Top Forums Programming Help with getuid Post 302893878 by Corona688 on Friday 21st of March 2014 12:07:27 PM
Old 03-21-2014
getuid is a kernel call which returns a number the process already had -- every process has a user. Looking up other users means opening /etc/passwd, which means using a library call like getpname, which searches the name, or getpwent, which loops over the entire /etc/passwd file.

Note that some of the fields in the structure it returns are obsolete -- especially password, which is now stored elsewhere.

Code:
#include <sys/types.h>
#include <pwd.h>
#include <stdio.h>

int main(void) {
        const char *user="user";
        struct passwd *p=getpname(user);

        if(p != NULL)
                printf("name %s UID %d GID %d\n", (int)p->pw_name, p->pw_uid, (int)p->pw_gid);
        else fprintf(stderr, "No such user '%s'\n", user);
}

 

We Also Found This Discussion For You

1. Programming

how to write a wrapper c code to return uid using getuid() function

And how to use setuid() ? thanks (4 Replies)
Discussion started by: pwd
4 Replies
getuid(2)							System Calls Manual							 getuid(2)

NAME
getuid, geteuid - Gets the real or effective user ID SYNOPSIS
#include <unistd.h> uid_t getuid( void ); uid_t geteuid( void ); Application developers may want to specify an #include statement for <sys/types.h> before the one for <unistd.h> if programs are being developed for multiple platforms. The additional #include statement is not required on Tru64 UNIX systems or by ISO or X/Open standards, but may be required on other vendors' systems that conform to these standards. STANDARDS
Interfaces documented on this reference page conform to industry standards as follows: getuid(): POSIX.1, XPG4, XPG4-UNIX Refer to the standards(5) reference page for more information about industry standards and associated tags. DESCRIPTION
The getuid() function returns the real user ID of the calling process. The geteuid() function returns the effective user ID of the calling process. RELATED INFORMATION
Functions: setuid(2), setruid(3), setreuid(2) Standards: standards(5) delim off getuid(2)
All times are GMT -4. The time now is 03:23 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy