我把/etc/passwd文件里的root的/sbin/sh改成/sbin/csh了,就不让su到root了,提示no shell,root的shell不能改吗?我得怎么办啊?各位大虾救救我!
newboy 回复于:2002-02-27 16:18:24
不是不能改,而是系统中原本就没有/sbin/csh,你想用csh应该指定到/bin/csh。
hanmeng 回复于:2002-02-27 16:18:30
试一试su不加“-”可不可以进到root用户
shirley 回复于:2002-02-27 16:24:17
/sbin下没有csh! root的shell是/sbin/sh,不要改!
改回原来那样不就行了吗?
root的shell也不是不能改,但千万不要直接改/etc/passwd文件。可以在root的.profile文件中执行/bin/csh。
注意一下,/sbin/sh和/usr/bin/sh是不同的。/sbin/sh是一个静态连接的二进制程序,而/usr/bin/sh是一个动态连接的程序,它执行的时候需要/usr/lib下的动态库的支持。系统对root的shell做这样的设置,才能保证即使系统运行在单用户模式,root帐户也能够正常工作。
loadysy 回复于:2002-02-27 16:43:47
是啊,我改完才知道根本就没有/sbin/csh的,不过问题已经解决了,到本机竟root可以登陆,hehe~~
su不加“-”也是不行的!
多谢各位!
还有请教shirley,root 的.profile文件找不到,是要自己手工建的吗,是从/etc/skel先考个template过来吗?
shirley 回复于:2002-02-27 16:51:57
从/etc/skel目录拷贝到/目录,然后根据需要修改里边的设置,主要是PATH,MANPATH这些环境变量。
bear 回复于:2002-02-27 20:34:16
谢谢shirley,我们又学了一个基本原理。
zcycy 回复于:2002-02-28 08:38:20
/下应该有一个.dtprofile文件,里边是.profile的创建示例,可以参考
loadysy 回复于:2002-02-28 08:57:24
谢谢大家~!我还想问一下,我在.profile中的设置,. ./.profile这样可以生效,但在重新连接就不生效了,怎样才能永久生效呢?
hanmeng 回复于:2002-03-01 13:46:45
看看你的SHELL是什么,如果是C shell,则使用.login
brandnew 回复于:2002-11-23 00:26:54
完啦,看到这里一篇文章,说在安装Unix后的修改配置,把Root的Shell改成bash,在passwd 文件中改,结果就写成了/sbin/bash
重新用root login,说是no shell, 无法进入,
在本地用root也无法login,其他几个帐号可以登录,可是都不是Superuser,
怎么办?难道我非得重新装Solaris?
多谢!请发一份到:kanata@rogers.com
flyingboy 回复于:2002-11-23 01:34:29
我也出现了这个情况,解决办法:
用sun安装盘引导,把硬盘(fsck后)mount到/mnt下,然后vi /mnt/etc/passwd,修改相应的shell。
ok!
brandnew 回复于:2002-11-23 01:38:26
刚找到这一段,和楼上的一样:
Good news is, if you are running Solaris 9,
there is fallback shell if you stop the machine
and boot it into single user with boot -s
Bad news, it doesnt work in previous releases.
There you have to take your Solaris CD, put it in
| 论坛热门帖子: | [lch203] 写得蛮好的linux学习笔记(10-21) [黑马制造] 学习java的30个目标(10-19) [笑傲股林] 做测试半年了,有点迷茫,应该再学些什么提高自己的测试水平和测试能力呢?(10-19) [udp8589] 大家用google的来吱一声? 用百度的~~也来报道下?(10-18) [沂偌掳兆] 本人总结的一些认为C++比较经典的书籍,希望对大家有用(10-18) |
| TAG标签: | 怎么办 提示 回复 root 文件 shell 可以 /sbin/sh shirley |
注册
个人空间
