Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/16.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命令";getent“;在linux文件系统中不返回所有数字用户名(例如10798)_Linux_Bash - Fatal编程技术网

linux命令";getent“;在linux文件系统中不返回所有数字用户名(例如10798)

linux命令";getent“;在linux文件系统中不返回所有数字用户名(例如10798),linux,bash,Linux,Bash,我正在使用“getent”命令获取linux文件系统中的用户信息 我有一个用户名为“10798”的用户和另一个用户名为“user”且用户ID为“10798”的用户,我正在使用getent命令获取名为“10798”的用户的用户信息 但是命令没有给出任何输出 我认为,如果将所有数值作为命令的输入,那么命令“getent”只会查找用户id号 下面是一个场景 # cat /etc/passwd 10798:x:10799:10799::/home/10798:/bin/bash user:x:10798

我正在使用“getent”命令获取linux文件系统中的用户信息

我有一个用户名为“10798”的用户和另一个用户名为“user”且用户ID为“10798”的用户,我正在使用getent命令获取名为“10798”的用户的用户信息

但是命令没有给出任何输出

我认为,如果将所有数值作为命令的输入,那么命令“getent”只会查找用户id号

下面是一个场景

# cat /etc/passwd
10798:x:10799:10799::/home/10798:/bin/bash
user:x:10798:10798::/home/user:/bin/bash
# getent passwd 10798
user:x:10798:10798::/home/user:/bin/bash
如何使用getent命令获取用户名为10798的用户

passwd当没有提供密钥时,使用setpwent(3)、getpwent(3), 和endpwent(3)枚举passwd数据库。什么时候 提供了一个或多个关键参数,请分别传递 getpwuid(3)的数字键和getpwuid(3)的每个非数字键 getpwnam(3)并显示结果


我从linux手册页上了解到,是否有办法将数字键重定向到getpwnam

ls已经执行了该查找。可以使用从命令行执行用户信息查找

如果ls显示的是用户ID而不是用户名,那是因为没有该用户名的用户。文件系统存储用户ID,而不是用户名。如果您从另一个系统装载文件系统,或者如果文件属于现在已删除的用户,或者如果您将数字用户ID传递给chown,那么您可以拥有一个属于没有名称的用户ID的文件


在共享主机上,您可以访问在多个虚拟机之间共享的某些文件,每个虚拟机都有其用户数据库。这有点奇怪(为什么要共享文件,而不是共享文件的用户?),但这在技术上是可能的。

getent passwd | grep'^10798:“
。它工作正常。。。。。Thank@Cyruspasswd:如果没有提供键,请使用setpwent(3)、getpwent(3)和endpwent(3)枚举passwd数据库。当提供一个或多个键参数时,将每个数字键传递给getpwuid(3),将每个非数字键传递给getpwnam(3),并显示结果。我是从linux手册页上得到的,有没有办法在命令getent中将非数字键传递给getpwnam