|
发表于 2004-4-25 19:29:30
|
显示全部楼层
普通用户和根用户的默认命令搜索路径(由$PATH环境变量决定)是不同的,例如普通用户的默认命令搜索路径中没有/sbin.
当你以普通用户执行/sbin中的命令时就会提示说找不到该命令, 实际上并不是你的系统中没有该命令, 而是该命令所在的目录不在你的$PATH环境变量中。
当你用su命令成为root时,你会继承你成为root前的普通用户的$PATH环境变量。使用su - 会使你如同用root登陆一样, 即这时你的环境变量才是root的$PATH.
另外, 搜索命令可以用 whereis name; 或者 locate name |grep bin (过滤不相关输出).
所以, 如果你在SHELL下输入命令, 系统提示说没找到该命令, 并不一定是你的系统中没有该命令, 而是系统在你的$PATH中没有找到该命令。 当然, 也有可能你的系统中确实没有该命令。
不建议把/sbin添加到普通用户的$PATH中, 因为其中的某些命令(如果不是全部的话)普通用户没有权限执行。
想要控制台的普通用户执行某些只有root才能执行的命令, 参看RH9文档 定制指南 的控制台命令 部分。当然, 也还有其他方法。
注: 以上都是在RH9中, 其他系统可能不同。 |
|