FreeBSD下为了判断一个进程是否存在,执行了chsh -s /bin/bash命令,不巧的是刚好断线,于是再次链接时没办法su root进去管理权限了。可悲的事情,只好请机房来帮忙操作。
代码如下 | 复制代码 |
chsh -s /bin/bash 查看/etc/passwd内容时发现 root:*:0:0:Charlie &:/root:/bin/bash |
利用cat命令查看/etc/passwd
代码如下 | 复制代码 |
kiccleaf# cat /etc/passwd # $FreeBSD: src/etc/master.passwd,v 1.40.22.2.2.1 2012/03/03 06:15:13 kensmith Exp $ # root:*:0:0:Charlie &:/root:/bin/bash 原来的内容是: kiccleaf# cat /etc/passwd |
结果FreeBSD的/bin/目录下并没有bash这个命令存在,于是登录时错误提示:
login:/bin/bash:No such file or directory
把root的shell改成了bash,而导致进不去系统了,可以通过以下几种方式解决:
系统启动时,选择“4”,进入“单用户”模式,输入“boot -s”进入单用户的提示符“#”,依次键入如下命令:
代码如下 | 复制代码 |
fsck -p mount -u / mount -a -t ufs swapon -a chsh -s /bin/csh |
然后就重启系统吧,这样就可以重新登录root管理帐号了。
时间: 2024-10-11 17:16:22