Wie korrigiere ich OpenVPN mit erhöhten Rechten als normaler Benutzer?

Wie korrigiere ich OpenVPN mit erhöhten Rechten als normaler Benutzer?
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 

Fehler: libpam erforderlich, aber fehlt

Ich verfüge einfach nicht über die Berechtigung, das Paket mit dem Namen libpam zu installieren. Kann ich also libpam erstellen und im Home-Verzeichnis installieren und dann darauf basierend OpenVPN erstellen?

Antwort1

Ja, natürlich können Sie als normaler Benutzer Sachen kompilieren und das Konfigurationsskript darauf verweisen. Führen Sie es aus configure --helpund Sie werden wahrscheinlich sehen, wo es um das Setzen von Umgebungsvariablen wie LIBPAM_LIBSund geht LIBPAM_CFLAGS. Setzen Sie diese manuell auf den Speicherort, an dem sich die gemeinsam genutzten Bibliotheken (.so-Dateien) und Header (.h-Dateien) für eine kompilierte Libpam befinden.

Ich würde Ihnen raten, ein „lokales Präfix“ einzurichten, in dem OpenVPN und alle seine Abhängigkeiten aggregiert werden können. Stellen Sie sich dieses Präfix als Ihr eigenes /usrVerzeichnis vor.

Sieht so aus, als ob Sie in Ihrem Setup --prefix bereits auf /home/mirror/build/ins/ins_vpn setzen, also wäre /home/mirror/build/ins/ins_vpn/include der für die Umgebungsvariable zu setzende Wert LIBPAM_CFLAGSund /home/mirror/build/ins/ins_vpn/lib der für die Umgebungsvariable zu setzende Wert LIBPAM_LIBS. Natürlich können die Namen der Umgebungsvariablen je nach Inhalt variieren configure --help. Führen Sie es also aus und lesen Sie es.

Sie können PKG_CONFIG_PATHdie Umgebungsvariable auch auf /home/mirror/build/ins/ins_vpn/lib/pkg-configund den Libpam- make installSchritt festlegen.sollenpushen Sie libpam.pc bei der Installation in dieses Verzeichnis (wenn Sie es mit konfigurieren --prefix=/home/mirror/build/ins/ins_vpn). Indem Sie PKG_CONFIG_PATH festlegen, weisen Sie das pkg-configDienstprogramm an, in diesem Verzeichnis nach Dateien zu suchen .pc, die Daten zu den Kompilierungs- und Verknüpfungsflags für Programme enthalten. Viele Standardbibliotheken verwenden pkg-config und autoconfig, daher sollten Sie diese Schritte für alle anderen Pakete wiederholen können.

Um eine richtige Version der Libpam-Quellen zu erhalten, müssen Sie wahrscheinlich nur das Quell-RPM herunterladen und die Quellen entpacken. Oder Sie finden einfach heraus, welche Upstream-Version von Libpam Ihre Distribution verwendet, und holen sich diese Version (wahrscheinlich funktioniert auch eine neuere Version).

Beachten Sie, dass Sie, da Sie keinen Root-Zugriff auf die Box haben, unsere tunGeräte wahrscheinlich nicht manipulieren können tap(es sei denn, der Systemadministrator hat Ihnen entsprechende Rechte erteilt). Daher werden Sie wahrscheinlich ohne Root-Zugriff ohnehin keinen brauchbaren VPN-Tunnel erstellen können, selbst wenn Sie OpenVPN kompilieren :)

Antwort2

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

Dadurch werden alle Abhängigkeiten aufgelöst

Antwort3

Ich habe versucht, OpenVPN 2.3.0 über einen Befehl als Root zu installieren ./configureund erhielt den gleichen Fehler, dass libpam erforderlich, aber fehlt. Ich habe das Paket installiertlibpam0g-devund es wurde ./configureerneut erfolgreich ausgeführt.

Ich weiß, Sie sagten, Sie hätten keine Root-Berechtigungen, aber wenn Sie dieses Paket installieren können, können Sie ./configureIhr Vorhaben wahrscheinlich zu Ende bringen.

verwandte Informationen