1 /* vi: set sw=4 ts=4: */
2 /*
3  * Mini whoami implementation for busybox
4  *
5  * Copyright (C) 2000  Edward Betts <edward@debian.org>.
6  *
7  * Licensed under GPLv2 or later, see file LICENSE in this source tree.
8  */
9 //config:config WHOAMI
10 //config:	bool "whoami (3.2 kb)"
11 //config:	default y
12 //config:	help
13 //config:	whoami is used to print the username of the current
14 //config:	user id (same as id -un).
15 
16 //applet:IF_WHOAMI(APPLET_NOFORK(whoami, whoami, BB_DIR_USR_BIN, BB_SUID_DROP, whoami))
17 
18 //kbuild:lib-$(CONFIG_WHOAMI) += whoami.o
19 
20 /* BB_AUDIT SUSv3 N/A -- Matches GNU behavior. */
21 
22 //usage:#define whoami_trivial_usage
23 //usage:       ""
24 //usage:#define whoami_full_usage "\n\n"
25 //usage:       "Print the user name associated with the current effective user id"
26 
27 #include "libbb.h"
28 
29 int whoami_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
whoami_main(int argc UNUSED_PARAM,char ** argv UNUSED_PARAM)30 int whoami_main(int argc UNUSED_PARAM, char **argv UNUSED_PARAM)
31 {
32 	if (argv[1])
33 		bb_show_usage();
34 
35 	/* Will complain and die if username not found */
36 	puts(xuid2uname(geteuid()));
37 
38 	return fflush_all();
39 }
40