首页 > 解决方案 > 运行带有前缀 sudo 的命令和以 root 用户身份运行命令之间的不同行为,看似 sudo 的授权较少

问题描述

我想通过将 0 回显到/proc/sys/kernel/randomize_va_space. 但即使使用前缀,我也未能在普通用户模式下这样做sudo

$ cat /proc/sys/kernel/randomize_va_space
2
$ sudo echo 0 > /proc/sys/kernel/randomize_va_space
zsh: permission denied: /proc/sys/kernel/randomize_va_space

当我以root用户身份登录后尝试相同的过程时,我成功了。

$ su 
# cat /proc/sys/kernel/randomize_va_space
2
# echo 0 > /proc/sys/kernel/randomize_va_space
# cat /proc/sys/kernel/randomize_va_space
0

我想知道为什么以 sudo 前缀运行的命令失败但作为 root 用户成功。sudo 和 root 有什么区别?我在 Linux 系统和 WSL 上尝试了这个实验,它们都表现出相同的现象。我的实验环境的两个配置文件是

5.10.0-kali3-amd64 #1 SMP Debian 5.10.13-1kali1 (2021-02-08)
4.4.0-19041-Microsoft #488-Microsoft Mon Sep 01 13:43:00 PST 2020

标签: linuxshellrootsudo

解决方案


推荐阅读