作為普通用戶如何以提升的權限修正Openvpn?

作為普通用戶如何以提升的權限修正Openvpn?
checking tap-windows.h presence... no
checking for tap-windows.h... no
checking whether TUNSETPERSIST is declared... yes
checking for setcon in -lselinux... yes
checking for pam_start in -lpam... no
checking for OPENSSL_CRYPTO... yes
checking for OPENSSL_SSL... yes
checking for EVP_CIPHER_CTX_set_key_length... yes
checking for ENGINE_load_builtin_engines... yes
checking for ENGINE_register_all_complete... yes
checking for ENGINE_cleanup... yes
checking for ssl_init in -lpolarssl... no
checking for aes_crypt_cbc in -lpolarssl... no
checking for lzo1x_1_15_compress in -llzo2... no
checking for lzo1x_1_15_compress in -llzo... no
checking for PKCS11_HELPER... no
checking git checkout... yes
configure: error: libpam required but missing
[mirror@innov openvpn]$ ./configure --help | grep libpam
  --enable-pam-dlopen     dlopen libpam [default=no]
              C compiler flags for libpam
  LIBPAM_LIBS linker flags for libpam
[mirror@xxx openvpn]$ ./configure --prefix=/home/mirror/build/ins/ins_vpn --disable-lzo 

錯誤:需要 libpam 但缺少

我只是沒有權限安裝名為 libpam 的軟體包,那麼我可以建立 libpam 並將其安裝在主目錄中,然後基於它構建 openvpn 嗎?

答案1

是的,當然您可以以普通用戶身份編譯內容並將配置腳本指向它。運行configure --help,您可能會看到它在哪裡討論設定環境變量,例如LIBPAM_LIBSLIBPAM_CFLAGS。手動將它們設定為編譯後的 libpam 的共享庫(.so 檔案)和頭檔(.h 檔案)所在的位置。

我建議您設定一個“本地前綴”,其中可以聚合 openvpn 及其所有依賴項。將此前綴視為您自己的/usr目錄。

從您的設定看來,您已經將 --prefix 設定為 /home/mirror/build/ins/ins_vpn,因此 /home/mirror/build/ins/ins_vpn/include 將是環境變數設定的值LIBPAM_CFLAGS/home/ mirror/build/ins/ins_vpn/lib 將是環境變數設定的值LIBPAM_LIBS。當然,環境變數名稱可能會根據內容而有所不同configure --help。所以運行它並閱讀它。

您也可以將PKG_CONFIG_PATH環境變數設定為/home/mirror/build/ins/ins_vpn/lib/pkg-config和 libpammake install步驟應該安裝時將 libpam.pc 推入該目錄(如果使用 進行配置--prefix=/home/mirror/build/ins/ins_vpn)。透過設定 PKG_CONFIG_PATH,您可以指示pkg-config實用程式在該目錄中尋找.pc文件,其中包含有關程式的編譯和連結標誌的資料。許多標準程式庫使用 pkg-config 和 autoconfig,因此您應該能夠對任何其他套件重複這些步驟。

取得正確版本的 libpam 原始程式碼可能只需下載來源 rpm 並解壓縮原始程式碼,或者只需找出您的發行版使用的 libpam 上游版本並取得該版本(或更高版本也可能有效)。

請注意,由於您沒有 root 存取權限,因此您可能無法操作tuntap裝置(除非系統管理員授予您權限),因此您可能無法在沒有 root 的情況下建立有用的 VPN 隧道,即使您編譯 openvpn :)

答案2

yum install gcc make rpm-build autoconf.noarch zlib-devel pam-devel openssl-devel -y

這將解決所有依賴關係

答案3

我嘗試./configure以 root 身分透過命令安裝 OpenVPN 2.3.0,但遇到了關於所需 libpam 但缺少的相同錯誤。我安裝了這個包libpam0g-dev並再次成功運行./configure

我知道你說你沒有 root,但是如果你可以安裝該軟體包,它可能會讓你完成./configure你想要做的事情。

相關內容