用sudo进行操作 和用真正的root身份来操作有没有区别?
- hubert_star
- 论坛版主
- 帖子: 5372
- 注册时间: 2007-10-29 22:12
- 系统: OSX 10.9 + Ub 1304
- 来自: 江苏南京
- 送出感谢: 0
- 接收感谢: 5 次
echo $UID
sudo echo $UID
sudo echo $UID
佛经说,人有八苦: 生、老、病、死、求不得、怨憎、爱别离、五阴盛 故我苦!
圣经说,人有七罪: 饕餮、贪婪、懒惰、淫欲、傲慢、嫉妒和暴怒 故我有罪!
我这篇帖子里面没有任何攻击我们伟大的中华人民共和国政府和任劳任怨的人民公仆(和本论坛高素质的版主)的文字和含义;
特此声明!
有些事,我们明知道是错的,也要去坚持,因为不甘心;有些人,我们明知道是爱的,也要去放弃,因为没结局;有时候,我们明知道没路了,却还在前行,因为习惯了。
欢迎来我的新浪微博@me
圣经说,人有七罪: 饕餮、贪婪、懒惰、淫欲、傲慢、嫉妒和暴怒 故我有罪!
我这篇帖子里面没有任何攻击我们伟大的中华人民共和国政府和任劳任怨的人民公仆(和本论坛高素质的版主)的文字和含义;
特此声明!
有些事,我们明知道是错的,也要去坚持,因为不甘心;有些人,我们明知道是爱的,也要去放弃,因为没结局;有时候,我们明知道没路了,却还在前行,因为习惯了。
欢迎来我的新浪微博@me
- BigSnake.NET
- 帖子: 12522
- 注册时间: 2006-07-02 11:16
- 来自: 廣州
- 送出感谢: 0
- 接收感谢: 7 次
- 联系:
-
- 帖子: 473
- 注册时间: 2008-04-27 1:10
- 来自: http://blogs.gnome.org/happyaron/
- 送出感谢: 0
- 接收感谢: 2 次
楼上说得很有道理,sudo的权限会被管道或者重定向截断,有时候就很郁闷。
比如打开内核的IP转发:
sudo echo '1' >/proc/sys/net/ipv4/ip_forward
是不行的,而root就可以。
要用sudo的话我目前只知道这样解决:
echo '1'|sudo tee /proc/sys/net/ipv4/ip_forward
而且sudo执行的uid一般是当前执行sudo的用户ID,而root直接执行的uid应该是0
比如打开内核的IP转发:
sudo echo '1' >/proc/sys/net/ipv4/ip_forward
是不行的,而root就可以。
要用sudo的话我目前只知道这样解决:
echo '1'|sudo tee /proc/sys/net/ipv4/ip_forward
而且sudo执行的uid一般是当前执行sudo的用户ID,而root直接执行的uid应该是0
上次由 Amankwah 在 2008-09-03 21:33,总共编辑 1 次。
读书取正,读易取变,读骚取幽,读庄取达,读汉文取坚,最有味卷中岁月。
与菊同野,与梅同疏,与莲同洁,与兰同芳,与海棠同韵,定自称花里神仙。
与菊同野,与梅同疏,与莲同洁,与兰同芳,与海棠同韵,定自称花里神仙。
- BigSnake.NET
- 帖子: 12522
- 注册时间: 2006-07-02 11:16
- 来自: 廣州
- 送出感谢: 0
- 接收感谢: 7 次
- 联系:
错, sudo 执行的东西当然是 EUID 0,问题出在你那个 > ,那个是当前 shell 给你重定向的,当然就不是 root 身份Amankwah 写了:楼上说得很有道理,sudo的权限会被管道或者重定向阶段,有时候就很郁闷。
比如打开内核的IP转发:
sudo echo '1' >/proc/sys/net/ipv4/ip_forward
是不行的,而root就可以。
要用sudo的话我目前只知道这样解决:
echo '1'|sudo tee /proc/sys/net/ipv4/ip_forward
而且sudo执行的uid一般是当前执行sudo的用户ID,而root直接执行的uid应该是0
^_^ ~~~
要理解递归,首先要理解递归。
地球人都知道,理论上,理论跟实际是没有差别的,但实际上,理论跟实际的差别是相当大滴。
要理解递归,首先要理解递归。
地球人都知道,理论上,理论跟实际是没有差别的,但实际上,理论跟实际的差别是相当大滴。
- hubert_star
- 论坛版主
- 帖子: 5372
- 注册时间: 2007-10-29 22:12
- 系统: OSX 10.9 + Ub 1304
- 来自: 江苏南京
- 送出感谢: 0
- 接收感谢: 5 次
讲得对,欠考虑了aerofox 写了:这是一个错误的比较,因为在执行 echo 命令之前 $UID 就已经被 SHELL 扩展了,所以结果必然一样。hubert_star 写了:echo $UID
sudo echo $UID
核心问题还是环境变量的问题,当前用户没有被切换,但是却是以0用户的身份执行操作
env
sudo env
应该能够看出来了
佛经说,人有八苦: 生、老、病、死、求不得、怨憎、爱别离、五阴盛 故我苦!
圣经说,人有七罪: 饕餮、贪婪、懒惰、淫欲、傲慢、嫉妒和暴怒 故我有罪!
我这篇帖子里面没有任何攻击我们伟大的中华人民共和国政府和任劳任怨的人民公仆(和本论坛高素质的版主)的文字和含义;
特此声明!
有些事,我们明知道是错的,也要去坚持,因为不甘心;有些人,我们明知道是爱的,也要去放弃,因为没结局;有时候,我们明知道没路了,却还在前行,因为习惯了。
欢迎来我的新浪微博@me
圣经说,人有七罪: 饕餮、贪婪、懒惰、淫欲、傲慢、嫉妒和暴怒 故我有罪!
我这篇帖子里面没有任何攻击我们伟大的中华人民共和国政府和任劳任怨的人民公仆(和本论坛高素质的版主)的文字和含义;
特此声明!
有些事,我们明知道是错的,也要去坚持,因为不甘心;有些人,我们明知道是爱的,也要去放弃,因为没结局;有时候,我们明知道没路了,却还在前行,因为习惯了。
欢迎来我的新浪微博@me