探究whoami命令的用法与实现原理
什么是whoami命令?
whoami是一条常见的Unix/Linux命令,用于显示当前用户的用户名
whoami命令属于Linux核心中的文件之一,是由正式版Linux大谷博士(Linus Torvalds)在Linux操作系统中引进的
whoami命令的语法格式如下:
whoami [--help | --version]
whoami命令的使用方法:
whoami命令在Linux和Unix操作系统中均能够使用,用户可以通过打开命令终端窗口并敲击whoami来使用
当用户敲击whoami命令后,系统会以当前登录用户的身份来执行查询操作,用户可立刻获得返回结果
对于多用户环境下的情况,由于whoami命令只会显示当前用户的用户名,因此如果想要看到其他用户名的信息,需要用户在处理命令之后手动进行更改
whoami命令的实现原理:
whoami命令可以通过系统调用getuid函数来实现,该命令映射到了链接到/lib/ld-linux.so.2这个文件下的/usr/bin/whoami二进制文件中
在Linux操作系统中,每个用户都被分配了一个独有的UID,是通过systemd等系统服务和PAM库来对UID进行分配和管理的
对于管理员或者超级用户而言,它们的UID不同于一般用户的UID,因此管理员的UID通常是0,而普遍用户的UID为1000左右
在执行whoami命令时,会自动调用进程的Linux系统用户ID(UID)并将其输出到标准输出中,在这个过程中,whoami命令通过调用getuid函数来实现了清晰地获取当前用户的UID并将其转换为用户名的操作,数据就是通过UID到/etc/passwd里面查询的
总的来说,whoami的使用方法简单易懂,系统优势大,而whoami命令的实现原理是通过获取当前执行者的UID来确定其用户名,借此实现了实用、简洁的用户名查询操作