谁能告诉我什么:x:用于?我在网上搜索的结果并不多。一个例子如下:
`grep $USER:x: /etc/passwd'
谢谢, 戴夫
答案 0 :(得分:4)
$USER:x:
是您grep
在/etc/passwd
中搜索的模式。它将返回包含$USER:x:
的行,其中$USER
是您当前在shell中使用的用户。因此,该命令将返回定义用户的/etc/passwd
行。
如果您检查/etc/passwd
文件的存储方式,那么您会看到第二个块通常是x
,这意味着密码已加密并存储在/etc/shadow
文件中。在旧机器中,密码可以存储在/etc/passwd
中,但它已被更改,因为此文件对任何用户都是可读的,而/etc/shadow
只是root用户。
也就是说,使用$USER:x
,您确保只是恰好匹配此用户。事实上,^$USER:
就足够了,因为:
不能出现在用户名中。
另一种方法是使用awk
例如:
awk -F: -v user=$USER '$1==user' /etc/passwd
请参阅/etc/passwd
的图形说明(对不起,它有点大!!找不到任何其他较小的英文版):