Press "Enter" to skip to content

月度归档: 2014 年 6 月

FreeBSD下更改csh为bash后root无法登录解决办法

FreeBSD下为了判断一个进程是否存在,执行了chsh -s /bin/bash命令,不巧的是刚好断线,于是再次链接时没办法su root进去管理权限了。可悲的事情,只好请机房来帮忙操作。

chsh -s /bin/bash

查看/etc/passwd内容时发现

root:*:0:0:Charlie &:/root:/bin/bash
这一句被改了
原来是
root:*:0:0:Charlie &:/root:/bin/csh

利用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: 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/csh

结果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管理帐号了。

Leave a Comment

Linux注销其他登录用户或注销登录意外被断开用户

经常在操作Linux的时候,偶尔会发生断网或是在智能多线路环境中操作服务器时,时常被断开,但用户登录的进程又在,并没有退出。
简单的方法实现已经登录的用户注销操作

[root@kiccleaf ~]# who
root     pts/1        2014-06-04 12:07 (27.115.*.*)
root     pts/2        2014-06-04 13:31 (58.247.*.*)
root     pts/3        2014-06-04 13:42 (58.246.*.*)
root     pts/4        2014-06-04 13:56 (140.207.*.*)
root     pts/5        2014-06-04 14:01 (140.207.*.*)
#结束掉一些登录的用户
[root@kiccleaf ~]# pkill -kill -t pts/1
Leave a Comment