如何防止每次在 OS X Mountain Lion 中更改网络配置时弹出密码?

Sud*_*ill 7 networking script passwords prompt osx-mountain-lion

我有一些在 OS X Lion 下使用的网络脚本,它们会自动创建 ssh 连接,然后更改本地计算机上的网络配置以通过 ssh 隧道运行流量。我使用这些 shell 命令更改了网络配置:

networksetup -setsocksfirewallproxy "Wi-Fi" localhost ####

networksetup -setsocksfirewallproxystate "Wi-Fi" on
Run Code Online (Sandbox Code Playgroud)

现在,在 Mountain Lion 下,每次运行脚本时它都会要求输入密码,这很烦人。有没有办法让它记住密码,或者绕过它,或者第一次把它放进去让它记住?

Sud*_*ill 1

不确定从安全角度来看这是否是正确的方法,但它有效:

1)将/usr/sbin/中的networksetup复制到另一个文件(这样,使用它的所有其他服务在运行时将继续需要密码):

sudo cp /usr/sbin/networksetup /usr/sbin/NewNetConfig
Run Code Online (Sandbox Code Playgroud)

2) 在 sudoers 文件中添加以下行,以在调用 NewNetConfig 时跳过密码:

username   ALL=NOPASSWD: /usr/sbin/NewNetConfig
Run Code Online (Sandbox Code Playgroud)

3)重新启动。然后用它来更改您的网络配置,并且它不应该要求输入密码:

sudo NewNetConfig -setsocksfirewallproxy "Wi-Fi" localhost ####
Run Code Online (Sandbox Code Playgroud)