passwd文件中的star是什么意思?


14

我有一台需要启动的计算机,但是密码似乎是虚假的。另外,我无法安装用于写入的驱动器,它是mips处理器,因此无法将其粘贴在另一台机器上运行它。

无论如何,他们的passwd文件中有一些看起来像这样的用户,用户名后带有星号。这是指空白密码还是什么?

root:8sh9JBUR0VYeQ:0:0:Super-User,,,,,,,:/:/bin/ksh
sysadm:*:0:0:System V Administration:/usr/admin:/bin/sh
diag:*:0:996:Hardware Diagnostics:/usr/diags:/bin/csh
daemon:*:1:1:daemons:/:/dev/null
bin:*:2:2:System Tools Owner:/bin:/dev/null
uucp:*:3:5:UUCP Owner:/usr/lib/uucp:/bin/csh
sys:*:4:0:System Activity Owner:/var/adm:/bin/sh
adm:*:5:3:Accounting Files Owner:/var/adm:/bin/sh
lp:VvHUV8idZH1uM:9:9:Print Spooler Owner:/var/spool/lp:/bin/sh
nuucp::10:10:Remote UUCP User:/var/spool/uucppublic:/usr/lib/uucp/uucico
auditor:*:11:0:Audit Activity Owner:/auditor:/bin/sh
dbadmin:*:12:0:Security Database Owner:/dbadmin:/bin/sh
rfindd:*:66:1:Rfind Daemon and Fsdump:/var/rfindd:/bin/sh

12
请注意,您已经发布了DES密码哈希。如今,DES密码哈希很容易破解。在更改密码之前,请勿将此计算机连接到网络。
吉尔斯(Gillles)“所以别再作恶了”

2
我建议在此计算机连接到公共互联网所有,坦率地说。当然,请将其放在经过防火墙保护的网络上足够长的时间以吸收其数据,但是此后应该将其淘汰。如果操作系统看起来很旧,它可能会充满内核上的安全漏洞-例如可预测的TCP初始序列号
zwol

lp用户的密码太可笑了。而且由于基于DES的密码仅限于ASCII,并且只能为8个字符长,因此您获得的熵不会超过53位。如果可以,请切换到更强的哈希,然后更改密码。
卡巴斯德(Kasperd)

在我之前的评论中添加一些数字:我的笔记本电脑可能会lp在630毫秒内破解密码。该root密码是强了不少。在终止之前,我让暴力攻击进行了五个小时。root在这五个小时内,它没有破坏密码。但是您当然应该仍然遵循先前的建议并更改密码。
卡巴斯德(Kasperd)

根据记录,您知道最流行的密码是密码的故事吗?好吧password1不能落后。确实荒谬无力。
hildred

Answers:


22

您必须检查man passwd

如果加密的密码设置为星号(*),则用户将无法使用login(1)登录,但仍可能使用rlogin(1)登录,运行现有进程并通过rsh(1)启动新进程,cron (8),at(1)或邮件过滤器等。尝试通过简单地更改shell字段来锁定帐户会产生相同的结果,并且还允许使用su(1)。

通常,具有*in密码字段的帐户没有密码,例如:禁用登录。这与没有密码的帐户不同,这意味着密码字段将为空,这几乎总是一种不好的做法。


13

带密码的帐户是在第二个字段中具有base64乱码的帐户:

root:8sh9JBUR0VYeQ:0:0:Super-User,,,,,,,:/:/bin/ksh
lp:VvHUV8idZH1uM:9:9:Print Spooler Owner:/var/spool/lp:/bin/sh

这台计算机似乎正在使用传统的基于DES的crypt(3)密码哈希。按照现代标准,此哈希值相当弱。如果您无法通过其他任何方式获得root登录,则可以使用开膛手John或类似软件强行恢复密码。另外,从技术上讲,它不是base64,而是较旧的类似编码,但是您不必担心。

:*::!:其他答案中提到的区别太新,以至于与您的问题无关。在这么古老的UNIX系统上,密码字段中只能出现三种不同的内容:

alice::1001:1001:Alice Can Log In Without A Password:/home/alice:/bin/ksh
bob:WSy1W41d4D1Gw:1002:1002:Bob Must Supply A Password:/home/bob:/bin/ksh
carol:ANYTHING ELSE:1003:1003:Carol Cannot Log In At All:/home/carol:/bin/ksh

如果密码字段的内容为空,则可以不使用密码登录。

如果该字段的内容是crypt某个密码的有效哈希,则可以使用该密码登录。

否则,您将无法以该用户身份登录。*只是常规用途-在视觉上显然不是有效的密码哈希。编写该passwd程序的人可能都会选择它。

(在密码文件中拥有无法登录的用户ID的要点是,他们仍然可以拥有文件,仍然可以拥有cron工作,并且守护程序可以使用setuid该身份。实际上,最佳实践是运行所有守护程序(不必以方式运行root)在这样的用户ID下,这样您就可以一定程度地确保只有守护程序在该身份下运行。)

/dev/nullshell字段中具有的帐户已被锁定,无法root使用su该用户身份以及常规登录名来运行程序。如今,您更有可能看到/bin/false/sbin/nologin用于该目的;我怀疑在该系统上,后者确实可以不存在,前者是一个shell脚本。)

(Bob的密码是“ bobpassw”,使用旧算法加密,但是在现代Linux机器上;这可能不是您的计算机使用相同的密码和相同的盐所产生的密码。这是旧算法被认为不好的原因之一)密码的上限是8个字符。)

(我知道该系统确实很旧,因为它使用的是基于DES的密码哈希,因为它没有使用影子文件,并且因为root的外壳/bin/ksh不是任何更新且更符合人体工程学的东西。)


我以为bob的密码不能正确填写表格。
2015年

@Joshua立即修复:)
zwol

如果他需要启动计算机,在使用恢复模式启动或使用USB live CD / DVD进行启动并将密码更改为另一个密码比使用开膛手john更快吗?
YoMismo 2015年

@YoMismo计算机这个老(我的猜测是,从上世纪90年代初的)可能不会恢复模式。它可能确实具有从某种可移动媒体启动的能力,但是要找到可启动的CD或磁带或其他任何东西可能都很难。现代的liveCD肯定无法正常工作。
zwol

@zwol我将尝试使用实际的发行版启动系统并使用chroot到他的旧系统,很可能passwd不需要安装--bind / dev / sys ....
YoMismo 2015年


3

关于您的实际问题,请参阅taliezin的回​​答(并接受该问题;)

关于您的另一个问题:在磁盘上搜索字符串8sh9JBUR0VYeQ找出它所在的磁盘块。然后将该磁盘块dd放入文件中,用已知的密码哈希替换该字符串(旧的crypt。 ()-长度相同),然后将磁盘块写回到旧位置-可能在此之前对磁盘进行完整备份。由于此方法不会更改文件的大小,因此不需要更新文件系统元数据。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.