相关疑难解决方法(0)

将标准输出重定向到您没有写权限的文件

当您尝试在没有写入权限的情况下修改文件时,您会收到错误消息:

> touch /tmp/foo && sudo chown root /tmp/foo
> echo test > /tmp/foo
zsh: permission denied: /tmp/foo
Run Code Online (Sandbox Code Playgroud)

Sudoing 没有帮助,因为它以 root 身份运行命令,但 shell 处理重定向 stdout 并以您的方式打开文件:

> sudo echo test > /tmp/foo
zsh: permission denied: /tmp/foo
Run Code Online (Sandbox Code Playgroud)

除了以root身份打开shell并以这种方式操作文件之外,是否有一种简单的方法可以将stdout重定向到您无权写入的文件?

> sudo su
# echo test > /tmp/foo
Run Code Online (Sandbox Code Playgroud)

shell permissions io sudo io-redirection

125
推荐指数
4
解决办法
2万
查看次数

sudo 权限被拒绝但 su 授予权限

这是我第一次需要 su 。

我阅读了一篇关于更改 /sys/devices/virtual/backlight/acpi_video0/brightness 中的值以更改笔记本电脑屏幕亮度的文章。

我第一次注意到,我$ sudo echo 10 > brightness什么时候会被拒绝许可。

我使用 su 切换到 root 并# echo 10 > brightness几乎立即改变了我的亮度。

对我来说最后一件奇怪的事情发生在我尝试时# echo 20 > brightness(maxbrightness 文件的值为 15)并且我收到了一个写错误

有人可以向我解释 sudo 和 su 之间的区别吗?了解写入错误将是一个额外的好处。任何帮助、指针和/或链接将不胜感激。

permissions su sudo

12
推荐指数
2
解决办法
3237
查看次数

标签 统计

permissions ×2

sudo ×2

io ×1

io-redirection ×1

shell ×1

su ×1