не удалось отредактировать / proc / sys / net / ipv4 / ip_forward в Xubuntu [дубликат]

, если вы хотите проверить все процессы, затем используйте «верх», если хотите знать процессы, запускаемые java, затем используйте ps -ef | grep java, если другой процесс затем просто используйте ps -ef | grep xyz или просто /etc/init.d xyz status, если через любой код, например , тогда ./xyz.sh status
13
задан 25 December 2011 в 10:20

4 ответа

С sudo вы не можете так легко перенаправлять. Существует несколько потенциальных решений, в том числе tee.

Вы можете перенаправить файлы, которыми вы владеете, в качестве пользователя sudo, например файлов в вашем домашнем каталоге, но не системных файлов.

Пример

# it works when re-direction to a location / file the user has permission to access
ubuntu@ubuntu:~$sudo echo "it works" > ~/file
ubuntu@ubuntu:~$cat file
it works

# But NOT if you do not have permission to access the target
ubuntu@ubuntu:~$sudo echo "it works" > /root/file
-bash: /root/file: Permission denied

Вариант 1

использует sudo bash -c и цитирует всю команду

sudo bash -c 'echo 1 > /proc/sys/net/ipv4/ip_forward'

Вариант два

Используйте tee

echo "1" | sudo tee /proc/sys/net/ipv4/ip_forward
20
ответ дан 25 May 2018 в 15:42
  • 1
    Это полностью сработало для меня! Еще несколько дополнительных вопросов: i) могу ли я сделать эти изменения как-то упорными с помощью перезагрузки и ii) почему эти две команды даже работают ?! и iii) почему я не могу изменить разрешение или владельца этого файла, даже если он зарегистрирован как root? – George 16 April 2014 в 02:11
  • 2
    @George - см. askubuntu.com/questions/311053/… . Что касается ваших других вопросов, лучше задайте вопрос, а затем задайте в комментариях. Удачи тебе. – Panther 16 April 2014 в 03:59

Если вы хотите изменить параметры в /proc/sys, лучше всего отредактировать /etc/sysctl.conf, а затем запустите sysctl -p. Таким образом, ваши изменения будут сохраняться при перезагрузках.

3
ответ дан 25 May 2018 в 15:42

вы можете использовать это:

user@ubuntu:~sudo -s 
enter password for sudo:
root@ubuntu:~echo 1 >/proc/sys/net/ipv4/ip_forward :)
0
ответ дан 25 May 2018 в 15:42
  • 1
    Хотя это, вероятно, решит проблему, было бы полезно узнать, почему это работает в отличие от использования sudo в вопросе. А именно, в то время как echo будет запущен с полномочиями суперпользователя, редиректор вывода > будет работать с текущими разрешениями оболочки. – Adaephon 19 May 2014 в 14:06

Если вы введете следующую команду, она будет работать, если вы не перезагрузите компьютер.

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

после перезагрузки параметр вернется к «0»

Попробуйте выполнить следующую команду, и она будет работать даже после перезагрузки.

vim /proc/sysctrl.conf ' - uncommen "net.ipv4.ip_forward=1"

sysctl -p 

теперь, даже если вы перезагрузите свой компьютер, всегда будет включена переадресация IP.

0
ответ дан 25 May 2018 в 15:42

Другие вопросы по тегам:

Похожие вопросы: