可以集成 who 命令来查找当前登录用户的密码文件条目吗?
答案1
是的,你可以制作这样的脚本:
for who_user in $(who|cut -f1 -d' '|uniq)
do
getent passwd|grep ${who_user}
done
如果您有足够的权限,您可以在影子文件中查找密码,如下所示:
for who_user in $(who|cut -f1 -d' '|uniq)
do
cat /etc/passwd|grep ${who_user}
cat /etc/shadow|grep ${who_user}
done
正如@John WH Smith 所提到的,不需要 grep:
for who_user in $(who|cut -f1 -d' '|uniq)
do
getent passwd ${who_user}
done
谢谢约翰
答案2
也许是这样的:
who | awk '{print $1}' | grep -f - /etc/passwd
awk '{print $1}'
将输出用户名,使用-f -
告诉它从标准输入获取 grep 模式的选项将其传递给 grep。这将打印出/etc/passwd
登录用户的条目:
别名@主机:~$WHO 别名 tty7 2015-03-10 13:02 根tty1 2015-03-10 18:19 别名 pts/0 2015-03-10 14:39 (:0) 别名@主机:~$谁| awk '{print $1}' | grep -f - /etc/passwd 根:x:0:0:根:/根:/bin/bash aliaa:x:1000:1001:Alaa Ali,,,:/home/aliaa:/bin/bash