无法以root身份login

在我的工作中,我们将产品作为软件/硬件包在预装服务器上运送。 我们使用开放的SUSE 10.3作为操作系统,我们进行了设置,并且始终使用root用户login进行维护。 最近我们刚把盒子还给我们,客户说不能再通过networking接口连接到盒子上。 所以当我开始在这个盒子上工作时,我遇到了这个问题:在命令提示符login我键入用户名“root”,然后回车。 然后甚至在它要求我input密码之前,我得到“login不正确”。

我从来没有见过这种行为,并没有在网上find任何有关信息。 有人知道发生了什么事吗?

谢谢。

检查你的/var/log/auth.log对失败的根login。 你可能会发现类似的东西:

12月30日07:31:51 vpslogin[18093]:(pam_securetty)访问被拒绝: tty'hvc0'不安全 ! Dec 30 07:31:51 vps login [18093]:'hvc0'失败login(1)FOR'root',身份validation失败

在现代系统中使用了许多新技术,例如XenServer虚拟化实例可能将控制台作为hvc0。

这可以通过将该控制台包含到/ etc / securetty中来解决。 只需键入: echo hvc0 >> / etc / securetty && kill -1 1然后再次尝试login。

一些可能性立即发生在我身上:

  • 最有可能的是,有人更改了root密码。 这可能意味着该盒子已被黑客入侵。
  • passwd或shadow文件被破坏或删除。
  • 同上/etc/nsswitch.conf或你的PAMconfiguration。

修复(或者,至less再次获得root权限):

重新启动系统。 在grub提示符下,编辑内核行并添加“init = / bin / bash”。 当系统启动的时候,你会得到一个bash提示符,并且根fs将以只读方式挂载。 你需要重新安装RW。 然后更改根密码。 然后运行同步,重新安装/作为RO再次,并“重新启动 – 现在”(可选地做一些更多的调查/修复之前重新启动)。

注意:但是,控制台tty将处于非常奇怪的状态。 例如,您将不能通过按^ C来终止进程(因为^ C尚未映射到SIGINT)。 所以不要在任何地方ping通或者运行其他任何一直持续下去直到获得INT的错误。 在做任何事之前用openvt命令打开几个VT。

(顺便说一下,关于这个话题的更多信息,请参阅我的博客文章^ C不杀死进程,SIGINT呢 )

我想在这一点上没人关心,但是我只是碰到了这个问题。

场景:我们尝试使用Rescue模式启动SuSE Linux 11,并将/ etc / shadow条目replace为null,以便root用户无需密码即可login。 结果是原来的海报说:“login不正确”,没有提示input密码。 不知道是什么,但其他的东西正在被passwd改变。

解决的办法是使用真正的passwd命令,粘滞点是下面的挂载–bind,因为没有它,passwd失败,因为所需的块设备不在那里:

  • (开机救援)
  • mount / dev / sda1 / mnt
  • mount –bind / dev / mnt / dev
  • chroot / mnt
  • passwd根

然后通常的卸载,卸载,同步,停止。

希望这有助于某人。

这是通过SSH? 大多数发行版(包括SuSE)默认情况下禁止root通过SSHlogin。 相关设置是/ etc / ssh / sshd_config中的“PermitRootLogin” 将其更改为“是”并重新启动SSHD,看看是否有效。

听起来像你最好的select可能是使用一个活的CD,并看看盒子上的实际loginconfiguration。

某种愚蠢的问题:你的键盘坏了吗?

你能引导你的服务器,并启动单一模式获得root权限,然后用“passwd”命令恢复你的密码。

以下是关于如何在Red Hat安装中执行此操作的链接:

http://www.redhat.com/docs/manuals/linux/RHL-7.3-Manual/custom-guide/s1-rescuemode-booting-single.html

希望对你有帮助

这可能是一个更大的问题的症状。 即使您修正login问题,也可能会有其他意外事件等待您或您的客户。 也许这会更好,更安全地执行新的安装,并完成它。

一些最近的Linux操作系统没有一个可以login的root帐户,相反,你必须以普通用户身份login, sudologin到root用户。 你有另一个帐户的机器?

首先你需要进入你的系统。 可以用一个

 init=/bin/bash 

进入你的内核启动参数。 启动后,你会得到一个没有身份validation的root shell,但没有其他的。

第二件事就是让你的系统运行(因此可debugging),而你有进一步的根shell。 这可以分两步完成。 首先,你需要用命令打开一个char控制台

 openvt -c 23 -f /bin/bash 

它会在第23个虚拟控制台上打开第二个虚拟控制台,在第一个虚拟控制台上按下alt / leftarrow(稍后,从X,你可以用alt / ctrl / f1进入第一个虚拟控制台)。

之后,您可以使用该命令启动系统

 exec /sbin/init 

如果一切正常,你的系统现在运行,你不能进一步login,但你至less可以尝试它们,而你在tty23有一个根控制台。

现在尝试login,并检查/ var / log中的日志文件,它说什么。 如果发现并消除这个问题是不够的,这个站点正在等待你的下一个问题和有趣的错误日志部分。

如果这是您的客户没有root权限的交钥匙产品,并且您确定只有您的公司知道的根用户和密码无法正常工作,那么听起来好像有人更改了它。 没有任何人通知你的变化,那么我会认为它被黑客入侵。

立即断开它与networking的连接。

使用liveboot光盘来访问文件系统,如果有什么东西你必须离开盒子,但我个人认为这是妥协。 如果机器没有经常备份,那么我们的政策就是假设它没有任何重要的数据,只是擦除,重新安装和重新configuration,因为在这一点上你不能真正相信任何数据被歹徒或改变。