我想在我自己的 PC 上关闭 ASLR。但是每次我输入“sudo echo 0 > /proc/sys/kernel/randomize_va_space”时,系统都会显示?“权限被拒绝”。我怎样才能让它工作?顺便说一下,我的操作系统内核是 2.6.30。
希望任何人都可以帮我一把。
问候。
jan*_*neb 11
这是 sudo 和 shell 重定向的常见问题。“sudoness”不会通过重定向传播。绕过它的一种方法是
sudo bash -c "echo 0 > /path/to/file"
Run Code Online (Sandbox Code Playgroud)
Siu*_*ji- 11
在您的命令中,I/O 重定向>由当前 shell 处理。解释器将命令视为 3 部分:
sudo echo 0>/proc/sys/kernel/randomize_va_space的echo是使用超级用户权限,而电流壳(与正常用户权限)尝试写入执行/proc/sys/kernel/randomize_va_space,并且因此触发一个Permission denied错误。
有几种方法可以克服这个问题。第一种方法是使用超级用户权限运行 shell,并使用-cswitch将命令传递给 shell :
sudo sh -c "echo 0 > /proc/sys/kernel/randomize_va_space"Run Code Online (Sandbox Code Playgroud)
(您可以sh用于 POSIX shell 和bashBash)
另一种方法是使用tee命令。该tee命令将内容从标准输入复制到标准输出(通常表示“屏幕”)以及列出的文件。因此,以下命令将字符打印A到标准输出以及文件output1.txt和output2.txt.
echo A | tee output1.txt output2.txtRun Code Online (Sandbox Code Playgroud)
在您的问题中,写入/proc/sys/kernel/randomize_va_space需要超级用户权限,而echo-ing0不需要。所以,解决办法是:
echo 0 | sudo tee /proc/sys/kernel/randomize_va_space >/dev/nullRun Code Online (Sandbox Code Playgroud)
最后重定向以/dev/null防止0打印到屏幕。
| 归档时间: |
|
| 查看次数: |
13024 次 |
| 最近记录: |