使用root循环运行命令

使用root循环运行命令

我正在关注这篇文章:

https://vpsboard.com/topic/4095-ipsecl2tp-vpn-on-ubuntu-1404/

为了在 Ubunto 中设置 VPN 服务器,但是当我运行这个命令时:

for vpn in /proc/sys/net/ipv4/conf/*; do echo 0 > $vpn/accept_redirects; echo 0 > $vpn/send_redirects; done

我收到权限被拒绝的通知,但是我正在使用 sudo 运行命令!

我知道 sudo 不适用于重定向,但我不知道如何重写此命令以便使用 su -c 执行它

答案1

你可以通过以下方式以 root 身份运行它

 sudo su -
 for vpn in /proc/sys/net/ipv4/conf/*; do echo 0 > $vpn/accept_redirects; echo 0 > $vpn/send_redirects; done

或者使用 sudo as

sudo /bin/bash -c "for vpn in /proc/sys/net/ipv4/conf/*; do echo 0 > $vpn/accept_redirects; echo 0 > $vpn/send_redirects; done"

答案2

您可以使用它sudo bash -c 来使其工作:

 for vpn in /proc/sys/net/ipv4/conf/*; do 
   sudo bash -c 'echo 0 > $vpn/accept_redirects; echo 0 > $vpn/send_redirects'
  done

相关内容