0

我正在尝试获取当前登录 linux 机器的所有用户的 shell,无论是登录 shell 还是非登录 shell。我知道如何为我自己获取此信息,但如何为所有登录机器的用户执行此操作...

4

1 回答 1

1

如果您想查看有关其他用户的信息,我假设您对此框具有 root 权限。否则你的问题从一开始就没有实际意义。

如果您有 root,您可以运行ps -ef|grep $USERNAME进程名称并将其与 /etc/shells 中的 shell 进行比较。在正常情况下,每个用户都会有一个。但是,如果有人在 ksh 或其他一些 shell 组合中启动 bash,那就是另一个问题了。

或者,如果您只想知道其他用户的默认 shell 是什么,此命令可以提供帮助:

cat /etc/passwd | awk -F ":" '{print $7}'

也许,如果您能告诉我们为什么了解每个用户正在运行的 shell 对您很重要,您可以获得更好的答案

于 2013-04-13T06:20:52.310 回答