リダイレクト演算子の後にsudo ntを渡します。

リダイレクト演算子の後にsudo ntを渡します。

重複の可能性:
sudo権限が拒否されましたが、suが権限を付与しました。

次のようにファイルに新しい値をエコーし​​ようとします。

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

発生するエラーはPermission Deniedです。しかし、rootユーザーと同じことを行うと成功します。なぜこれが起こるのかわかりますか?あるいは、sudoが ">"演算子を渡さないと言うこともできます。

答え1

sudoは>演算子を見ることができないので渡しません。シェルは>文字を解釈し、sudoはエコ4096だけを見ます。これは、ユーザーIDで/ proc / sys / fs / file-maxを開こうとしたシェルが失敗したことを意味します。

解決策:

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

関連情報