LinuxSir.cn,穿越时空的Linuxsir!

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

关于chroot sudo su 等转换为root身份执行命令的区别

[复制链接]
发表于 2007-3-22 23:08:05 | 显示全部楼层 |阅读模式
关于chroot  sudo  su 等转换为root身份执行命令的区别

有时在执行命令中,常常错误提示为没有找到.实际上它就安装 在系统中.
如:
一. 用chroot的情况:
.  
  1.   #chroot /mnt/gentoo
  2.    gentoo / # visudo
  3. bash: visudo: command not found
  4. . gentoo /# env-update
  5. bash: env-update: command not found
  6. .  gentoo  /# /usr/sbin/env-update
  7. >>> Regenerating /etc/ld.so.cache...
  8.   gentoo  /# whereis quickpkg
  9. quickpkg: /usr/sbin/quickpkg /usr/share/man/man1/quickpkg.1.gz
  10. . gentoo / # quickpkg  gxine  gqview  mousepad
  11. bash: quickpkg: command not found
  12. .  gentoo / #  /usr/sbin/quickpkg    gxine  gqview  mousepad   
  13. * Building package for gxine-0.5.7 ...                                   [ ok ] * Building package for gqview
复制代码

二. 用sudo的情况:
  1.   $sudo su visudo
  2. Unknown id: visudo
  3. $ sudo  env-update
  4. bash: env-update: command not found
  5. $sudo  /usr/sbin/env-update
  6. >>> Regenerating /etc/ld.so.cache...
复制代码

三. 用su的情况:
  1. $sudo su
  2. /# env-update
  3. >>> Regenerating /etc/ld.so.cache...
  4. / # visudo
  5. ......
复制代码

通过上面看到chroot 与sudo类似,有一定的root权限.但是,它只是有root的一部份.
su则有root的所有权限(我没有发现有不能执行的,不知有没有这种情况?).

这几个命令的范围不知是从哪里规定的?
发表于 2007-3-23 02:07:55 | 显示全部楼层
看man page
man chroot
man sudo
man su
sudo和su功能上还有些类似,chroot和前两个一点关系都没有

ps: 一般su的时候用"su -"
加-,表示login shell,login shell就相当于登录一样,会读取/etc/profile等配置文件,会正确设置PATH
你是否可以不打路径执行一个命令,取决于你的命令的所在路径是否在PATH里

最后,和gentoo本身关系不大的,最好发到其他相关版面,物尽其用
回复 支持 反对

使用道具 举报

发表于 2007-3-23 02:16:36 | 显示全部楼层
再插一句
建议兄弟学学IRC
这几天问的这么多问题,IRC上一晚上就搞定了
论坛上问答,一来一回效率太低
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-3-24 18:54:37 | 显示全部楼层
Post by zhllg
再插一句
建议兄弟学学IRC
这几天问的这么多问题,IRC上一晚上就搞定了
论坛上问答,一来一回效率太低

这就开始.IRC.----我先从网上找一下IRC是什么,如何用.
回复 支持 反对

使用道具 举报

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

本版积分规则

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