LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1542|回复: 7

无法使用ifconfig等root特权级命令,怎么办?

[复制链接]
发表于 2007-6-6 20:02:36 | 显示全部楼层 |阅读模式
用一般用户登录后,就算用su获得root权限也无法使用ifconfig等只有root才能用的命令.系统提示和没有su时的一样!
但用root登录后就能用上~这是怎么回事?

我用vmware 6.0刚装上的fedora 7

还有,切换到控制台不是用的是Ctrl+Alt+F1吗?怎么在fedora 7的桌面下用不了????
发表于 2007-6-6 20:07:43 | 显示全部楼层
环境变量的问题,在当前用户下的.bashrc 中加一行:
export PATH=“.:/bin:/sbin:/usr/sbin:/usr/bin:/usr/local/bin:/usr/X11R6/bin”
然后source .bashrc一下
回复 支持 反对

使用道具 举报

发表于 2007-6-6 20:08:07 | 显示全部楼层
因为用 root 登陆后,/sbin、/usr/sbin 等这些重要目录被自动加入到系统环境变量 PATH 中了,你就可以直接用命令名 ifconfig,而普通用户登录后,系统默认是不会将上面的特殊路径加入到 PATH 里面的,而偏偏 ifconfig 等这些系统级命令文件都存放在这些目录下,所以即使你 su 后也一样不能直接用命令名,你可以给出全路径,比如 /sbin/ifconfig 这样就可以了。
回复 支持 反对

使用道具 举报

发表于 2007-6-6 20:08:47 | 显示全部楼层
楼主应该说清楚系统提示的内容,如果是command not found的话,建议你把ifconfig的路径加上:/sbin/ifconfig,至于第二个问题请查看一下你的/etc/inittab中的runlevel设置。
回复 支持 反对

使用道具 举报

发表于 2007-6-6 20:21:34 | 显示全部楼层
this is the problem on ur path in shell environment variable.
1. modify  ur  path in  shelll
2.  $ whereis commandName  and then it will show u the path of the command.
for example,
#whereis  ifconifg
/sbin/ifconifg

now, u can type "/sbin/ifconfig' in ur shell.
回复 支持 反对

使用道具 举报

发表于 2007-6-6 20:34:03 | 显示全部楼层
使用su的时候加个参数,就会加载环境变量。
  1. su -
复制代码
回复 支持 反对

使用道具 举报

发表于 2007-6-6 20:55:08 | 显示全部楼层
同意六楼的说法。
su只是改变用户,
su -在更变用户的同时,也改变了环境变量,
详细情况,
可参考:man su
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-6-7 01:10:58 | 显示全部楼层
哦!原来用su改变用户是不加载环境变量的啊!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表