I want to disable Address Space Layout Randomization(ASLR) by echoing 0 into /proc/sys/kernel/randomize_va_space
. But I failed to do so in normal user mode even with prefix 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
When I tried the same process after login as root user, I succeed.
$ 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
I wonder why commands running with prefix sudo failed but as root user succeed. What is the difference between sudo and root? I tried this experiment on a Linux system and a WSL and they all exhibit the same phenomenon. The two profiles of my experimented environments are
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