Fedora

有沒有更好/更安全的方法以普通使用者身份啟動 OpenVPN 客戶端?

  • August 16, 2011

我正在嘗試連接到 OpenVPN 伺服器。當我使用 root 發出連接命令時,它可以完美執行:

openvpn /etc/openvpn/client.conf

但是對於普通使用者,我在日誌中收到以下錯誤消息:

Aug 15 18:01:43 a openvpn[4755]: OpenVPN 2.1.1 i686-redhat-linux-gnu [SSL] [LZO2] [EPOLL] [PKCS11] built on Jan  5 2010
Aug 15 18:01:43 a openvpn[4755]: WARNING: you are using user/group/chroot/setcon without persist-tun -- this may cause restarts to fail
Aug 15 18:01:43 a openvpn[4755]: WARNING: you are using user/group/chroot/setcon without persist-key -- this may cause restarts to fail
Aug 15 18:01:43 a openvpn[4755]: WARNING: No server certificate verification method has been enabled.  See http://openvpn.net/howto.html#mitm for more info.
Aug 15 18:01:43 a openvpn[4755]: NOTE: OpenVPN 2.1 requires '--script-security 2' or higher to call user-defined scripts or executables
Aug 15 18:01:43 a openvpn[4755]: Control Channel Authentication: using '/home/MYUSERNAME/.cert/shared.key' as a OpenVPN static key file
Aug 15 18:01:43 a openvpn[4755]: LZO compression initialized
Aug 15 18:01:43 a openvpn[4756]: NOTE: UID/GID downgrade will be delayed because of --client, --pull, or --up-delay
Aug 15 18:01:43 a openvpn[4756]: UDPv4 link local: [undef]
Aug 15 18:01:43 a openvpn[4756]: UDPv4 link remote: 111.222.333.444:443
Aug 15 18:01:43 a openvpn[4756]: [vpnserver] Peer Connection Initiated with 192.168.1.1:443
Aug 15 18:01:46 a openvpn[4756]: Note: Cannot ioctl TUNSETIFF tun: Operation not permitted (errno=1)
Aug 15 18:01:46 a openvpn[4756]: Note: Attempting fallback to kernel 2.2 TUN/TAP interface
Aug 15 18:01:46 a openvpn[4756]: Cannot allocate TUN/TAP dev dynamically
Aug 15 18:01:46 a openvpn[4756]: Exiting

所以看起來我需要root權限才能執行上述命令。

我用Google搜尋的解決方案:

-setuid 位:https ://fedoraproject.org/wiki/Features/RemoveSETUID-不再好

-“visudo”作為根,然後將其附加到文件中:

MYUSERNAME ALL = NOPASSWD: /usr/sbin/openvpn

然後“MYUSERNAME”使用者可以啟動具有 root 權限的“sudo /usr/sbin/openvpn”二進製文件。

ps1:

$ which openvpn
/usr/sbin/openvpn

ps2:使用 Fedora 14/bash。

問題:

  • 有沒有更好/更安全的方法來以普通使用者身份啟動 OpenVPN 客戶端?

OpenVPN需要 root 訪問權限,因為它需要為您新創建的介面分配 IP 地址。

如果你在圖形模式下執行,你可以試試NetworkManagerplugin for openvpn,它執行得很好,讓你的 vpn 只需點擊一下。一些使用者認為這NetworkManager有點侵入性(但那是 OFT)。

除此之外,正如你所說,你最好的鏡頭是sudo。恕我直言,比玩 setuid 位要好得多。

引用自:https://unix.stackexchange.com/questions/18790