Bash / proc / sys / net / ipv4 / ip_forward:権限が拒否されました


11

走ってみた

echo 1 > /proc/sys/net/ipv4/ip_forward

Accessがbashから拒否された、と私はしました:

sudo chmod 1+x /proc/sys/net/ipv4/ip_forward

そして今では許可されていない操作と表示されています。

どうすればアクセスできますか?


4
これを試してください:echo 1 | sudo tee /proc/sys/net/ipv4/ip_forward
Doug Smythies、2016年

うまくいきました。ティーの機能を説明していただけますか?
ケビンヘルナンデス2016年

3
の問題sudo echo 1 > /proc/sys/net/ipv4/ip_forwardは、出力のリダイレクトがとして行われないsudoため、機能しないことです。manページから:tee - read from standard input and write to standard output and files、およびsudoファイルに書き込むための十分な権限がある場合と同様に実行されます。
Doug Smythies 2016

回答:


15

ファイルの許可ビット/proc/sys/net/ipv4/ip_forwardは次のとおりです。

-rw-r--r-- 

と一緒owner:grouproot:root

したがってroot、ファイルへの書き込みのみが可能です。

あなたがするとき:

echo 1 > /proc/sys/net/ipv4/ip_forward

通常のユーザーとしては、権限が不十分なため、ファイルに書き込むことができません。

できるよ:

  • 使用sudoしてbash

    sudo bash -c 'echo 1 > /proc/sys/net/ipv4/ip_forward'
  • 使用tee

    echo 1 | sudo tee /proc/sys/net/ipv4/ip_forward

サブディレクトリ/etc/sysctl.confでの永続的な操作にはを使用する必要があることに注意してください/proc/sys

簡単に言うと、IP転送を有効にするには、次のコードをに入れます/etc/sysctl.conf

net.ipv4.ip_forward = 1

次に実行します:

sudo sysctl -p

すぐに効果があります。

これは、ファイルを/proc/sys/net/ipv4/ip_forward 直接編集するのと同じ効果があります。もちろん、ずっとクリーンで永続的です。


エコー1 | sudo tee / proc / sys / net / ipv4 / ip_forwardは私のために働きました、あなたはteeが何であるか説明できますか?
ケビンヘルナンデス2016年

1
@ChrisEthanFox teeは、受け取ったものを標準出力とファイルの両方に送信するコマンドです。チェックman tee
heemayl

rootとしてログインしていますが、rmコマンド(rm /proc/sys/net/ipv4/icmp_echo_ignore_all)を使用してそのようなファイルを削除することはできません。不変ビットをチェックし、そのファイルに設定されていません...同じエラー「rm: '/ proc / sys / net / ipv4 / icmp_echo_ignore_all'を削除できません:権限が拒否されました」が表示されました。しかし、魔法のように私はあなたが説明したようにファイルを編集できます!何が問題なのかわからないrm
Mojtaba Rezaeian、

@MojtabaRezaeian削除を妨げているのはカーネルです。/procつまりprocfs、メモリ上に存在し、カーネルによって公開されます。したがって、カーネルのビューが表示され、そのようなFS上のファイルに対して実行できるカーネルはすべて、完全にカーネル次第です。
heemayl

@heemaylでは、ファイルの作成はサーバーへのicmp ping要求を永久的に無効にするオプションだったので、どうすればそのファイルを削除できますか?それを変更できないとき!)それを行う方法について何か考えがありますか?それとも別の質問を開く必要がありますか?
Mojtaba Rezaeian
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.