whoami가 찍어주는 값,
즉 자신의 username을 알고 싶습니다.
getuid를 하면 자신의 uid를 알 수 있는데.. 이걸 가지고 username을 알 수 있는 방법은 없나요? 라이브러리 함수로 있을 것이란 생각이 듭니다만 검색을 잘 못해서인지 찾을 수 없네요.
env의 USER="유저이름" 값을 파싱해서 읽으려다 먼가 더 편한 방법이 있을꺼 같아 질문드립니다. :D
g_get_real_name ()
G_CONST_RETURN gchar* g_get_real_name (void);
Gets the real name of the user. This usually comes from the user's entry in the passwd file.
Returns :the user's real name.
g_get_home_dir ()
G_CONST_RETURN gchar* g_get_home_dir (void);
Gets the current user's home directory. Returns :the current user's home directory.
man getpwnam
man getpwnam
---
http://coolengineer.com
정확히는 getpwuid()를 써야 하네요. ^^[code:1]s
정확히는 getpwuid()를 써야 하네요. ^^
라고 하면 되는군요. :D
답변해 주신 pynoos님 감사합니다~
My Passion for the Vision!
핫.. 같은 man page에 있는 위의것을 썼군요.. :roll:
핫.. 같은 man page에 있는 위의것을 썼군요.. :roll:
---
http://coolengineer.com
훨씬더 깔끔한 솔루션!man getlogin[code:1]
훨씬더 깔끔한 솔루션!
man getlogin
바로 user name을 돌려줍니다.
My Passion for the Vision!
[quote="Viz"]env의 USER="유저이름" 값을 파싱해서 읽으
getenv("USER");
그리 불편한 것 같진 않은데요... ;;
[code:1]g_get_real_name ()G_
glib에 있는 것들은 이렇네요 :)
오랫동안 꿈을 그리는 사람은 그 꿈을 닮아간다...
http://mytears.org ~(~_~)~
나 한줄기 바람처럼..
환경변수 USER
그리 불편하지 않겠지만...
su
su -
이 둘 차이만 가지고도 USER 환경변수로 현재 사용 권한을 얻는 확인을 한다면.. 좀 심각해지죠.
또... crontab 으로 뭔가를 돌리면, 아예 USER 라는 환경변수는 없기도 합니다...
---
http://coolengineer.com
물론 그렇긴 하지만...질문하신 분께서 환경변수를 파싱하려고 했었
물론 그렇긴 하지만...
질문하신 분께서 환경변수를
파싱하려고 했었다고 해서 올려봤습니다... :D
[quote="Viz"]훨씬더 깔끔한 솔루션!man getlogi
- 깔끔하긴 한데... 환경변수를 보는 함수인가요? 난감한 동작을.... ;;
--------
[deisys@LUNEARRIS c]$ cat unam.c
#include <stdio.h>
#include <sys/types.h>
#include <pwd.h>
int main()
{
struct passwd * pwd = getpwuid( getuid() );
printf("%s\n", pwd->pw_name);
return 0;
}
[deisys@LUNEARRIS c]$ cat getlogin.c
#include <unistd.h>
int main()
{
printf( "%s\n", getlogin() );
return 0;
}
[deisys@LUNEARRIS c]$ make unam
cc unam.c -o unam
[deisys@LUNEARRIS c]$ make getlogin
cc getlogin.c -o getlogin
[deisys@LUNEARRIS c]$ ./unam
deisys
[deisys@LUNEARRIS c]$ ./getlogin
deisys
[deisys@LUNEARRIS c]$ su
Password:
[root@LUNEARRIS c]# ./unam
root
[root@LUNEARRIS c]# ./getlogin
deisys
[root@LUNEARRIS c]#
--
http://www.deisys.net
login name이라는 것은 login shell 에서 할당되는 것이므
login name이라는 것은 login shell 에서 할당되는 것이므로, 단지 권한이 바뀐다고해서 바뀌지 않습니다.
따라서, library의 getlogin 함수가 return하는 것은 아마 LOGNAME을 돌려줄 것입니다.
확인은 안해봤습니다...
---
http://coolengineer.com
[quote="pynoos"]login name이라는 것은 login s
확인해보니 맞습니다. ^--^
나를 죽이지 않는 모든 것은 나를 강하게 할 뿐이다.
getlogin사용자 확인방식
utmp의 내용에서 ut_user을 반환합니다.
댓글 달기