/procへの書き込み権限の問題

/procへの書き込み権限の問題

Linux初心者が扱おうとしていること/proc/sys/fs/file-max

sudo sh -c 300000 > file-max返品bash: file-max: Permission denied。これを行うには本当にroot権限が必要ですか?私が使用しているユーザーアカウントがsudoユーザーグループに追加されました。

主に他のフォルダを修正しようとしたときに、この質問のバリエーションを見ました。上記のコマンドは問題を軽減するための提案ですが、/procディレクトリは異なりますか?

注:最新のKali Linuxバージョンを使用してください。

答え1

あなたが提案した順序は意味がありません。スーパーユーザーシェルはコマンドを実行し、出力を非スーパーユーザーシェルの現在の作業ディレクトリにあるファイルにリダイレクトしようとsudo sh -c 300000 > file-maxします。300000file-max

次の操作を実行できます。

sudo sh -c 'echo 300000 > /proc/fs/file-max'

言い換えれば、自分で書くこと/procは、これらのプロパティを変更するかなり奇妙な方法です。この変更を実装するより「尊敬される」方法は次のとおりです。

sudo sysctl -w fs.file-max=300000

答え2

sudo以前にリダイレクトが行われたため、sudoリダイレクト権限を増やすことはできません。これを行うには、root権限を持つシェルが必要です。

sudo bash -c 'echo 300000 >/proc/sys/fs/file-max'

答え3

問題は、/proc/file-maxrootではなくユーザーで上書きされることです。

する:

echo 300000 | sudo tee /proc/sys/fs/file-max

または:

sudo sysctl -w fs.file-max=300000

変更を適用するにはネットワークを再起動する必要があります。ネットワークを手動で再起動するコマンドは次のとおりです。

sudo service networking restart

また、サーバーを再起動しても持続するようにfs.file-max=300000設定を追加する必要があります。/etc/sysctl.conf

echo "fs.file-max=300000" | sudo tee -a /etc/sysctl.conf

関連情報