Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Linux中使用getlogin函数 < >在Linux SISE10机器上登录并通过C++程序检查GETLogING(),得到一个正确的结果作为登录名。 int main() { char szUserName[64] = {0}; int nGet = getlogin_r(szUserName, sizeof(szUserName)-1); if(0 != nGet) { printerr(); } printf("%s\n", szUserName); char * szHome = getlogin(); printf("%s\n", szHome); return 0; }_C++_Linux_Login - Fatal编程技术网

在Linux中使用getlogin函数 < >在Linux SISE10机器上登录并通过C++程序检查GETLogING(),得到一个正确的结果作为登录名。 int main() { char szUserName[64] = {0}; int nGet = getlogin_r(szUserName, sizeof(szUserName)-1); if(0 != nGet) { printerr(); } printf("%s\n", szUserName); char * szHome = getlogin(); printf("%s\n", szHome); return 0; }

在Linux中使用getlogin函数 < >在Linux SISE10机器上登录并通过C++程序检查GETLogING(),得到一个正确的结果作为登录名。 int main() { char szUserName[64] = {0}; int nGet = getlogin_r(szUserName, sizeof(szUserName)-1); if(0 != nGet) { printerr(); } printf("%s\n", szUserName); char * szHome = getlogin(); printf("%s\n", szHome); return 0; },c++,linux,login,C++,Linux,Login,但是在使用su-name2之后 我现在已经更改了登录名。 但是getlogin\u r()仍然显示旧的usename 一种解决方案是使用geteuid()。但是,出现上述问题的原因是什么?“在使用su-name2后,我更改了登录名”-不,您没有。您已更改用户id,而不是登录名 su的手册页提到了-选项:“提供一个与用户直接登录时所期望的环境相似的环境。”显然,“相似”不同于“相同”。具体地说,su-不在/var/run/utmp中存储登录记录。“使用su-name2后,我已更改登录”-不,您没有

但是在使用su-name2之后 我现在已经更改了登录名。 但是getlogin\u r()仍然显示旧的usename

一种解决方案是使用geteuid()。但是,出现上述问题的原因是什么?

“在使用
su-name2
后,我更改了登录名”-不,您没有。您已更改用户id,而不是登录名

su
的手册页提到了
-
选项:“提供一个与用户直接登录时所期望的环境相似的环境。”显然,“相似”不同于“相同”。具体地说,
su-
不在/var/run/utmp中存储登录记录。

“使用
su-name2后,我已更改登录”-不,您没有。您已更改用户id,而不是登录名


su
的手册页提到了
-
选项:“提供一个与用户直接登录时所期望的环境相似的环境。”显然,“相似”不同于“相同”。具体来说,
su-
没有将登录记录存储在/var/run/utmp中。

对我们许多人来说,这是在经验的低谷中吸取的教训:)对我们许多人来说,这是在经验的低谷中吸取的教训:)