LinuxSir.cn,穿越时空的Linuxsir!

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

这两条命令的区别?(关于sudo, echo, >)

[复制链接]
发表于 2009-12-24 00:32:32 | 显示全部楼层 |阅读模式
sudo echo "1" > /proc/sys/net/ipv4/ip_forward
sudo sh -c "echo 1 > /proc/sys/net/ipv4/ip_forward"

第一条提示没有权限Permission denied, 第二条成功...

应该是只有echo有了root权限,后面那截没有权限,怎么避免呢?除了我的sh -c的方式?
发表于 2009-12-24 01:21:20 | 显示全部楼层
第一条,当前 shell 负责建立进程组,但进程组中只有 echo 获得 root 权。要用重定向写入文件可使用 tee ,tee 本目的是分流工具,但可变通使用。
echo "1" | sudo tee /proc/sys/net/ipv4/ip_forward

第二条,启动了一个新 shell ,新 shell 获得了 root 权,自然其下所有进程都……
回复 支持 反对

使用道具 举报

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

本版积分规则

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