sudo nt 在重定向运算符后传递

sudo nt 在重定向运算符后传递

可能的重复:
sudo 权限被拒绝,但 su 授予权限

我正在尝试使用以下命令将新值回显到文件中

  sudo echo 4096 > /proc/sys/fs/file-max

出现的错误是权限被拒绝。但是当我以 root 用户身份执行相同的操作时,我成功了。我可以知道发生这种情况的原因吗?或者我们可以说 sudo 不通过 ">" 运算符

答案1

sudo 不会通过 > 运算符,因为它永远看不到它。 shell 解释 > 字符,并且 sudo 只能看到 echo 4096。这意味着 shell 作为您的用户 id 尝试打开 /proc/sys/fs/file-max 并因此失败。

解决方法:

% echo 4096 | sudo dd of=/proc/sys/fs/file-max
% sudoedit /proc/sys/fs/file-max

相关内容