sudo globalprotect CLI 命令未在 Ubuntu 上导入客户端证书
5153
Created On 12/21/23 18:48 PM - Last Modified 02/02/24 05:42 AM
Question
登录用户想要在 Ubuntu/Linux 上的 GP 应用中导入客户端证书,但在运行 sudo globalprotect 命令时,它不会导入证书,卡住,并且不会给出任何结果。
$ sudo globalprotect import-certificate --location ~/cert_Client-Cert.p12 [sudo] password for user1: Please input passcode:
Environment
GlobalProtect 应用程序
Ubuntu/Linux
Answer
GlobalProtect 有一个名为 PanGPA 的进程,该进程在用户上下文中运行。 例如,如果您以 user1 身份登录,则 PanGPA 将在 user1 上下文中运行。
~$ id uid=1000(user1) gid=1000(user1) groups=1000(user1),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),116(lxd) $ ps -ef | grep PanGPA user1 375660 375651 0 18:02 ? 00:00:00 /opt/paloaltonetworks/globalprotect/PanGPA start
~/ 下的 PanGPA.log。GlobalProtect/ 目录显示运行 PanGPA 的进程 ID (pid) 和运行它的用户的 uid
P375660-T1160189760 12/21/2023 18:02:24:791 Info ( 236): ################### main - PanGPA started. pid = 375660. ################# # P375660-T1160189760 12/21/2023 18:02:24:791 Debug( 163): Current login user is user1. ... P375660-T1160189760 12/21/2023 18:02:24:913 Debug(2348): SetupDBusEnv: UID = 1000
PanGPA 接受在同一用户上下文中运行的 globalprotect CLI 命令并验证 uid。
当 globalprotect 命令在另一个用户上下文中或作为 sudo (uid 0) 运行时,该命令将失败或卡住,并且 PanGPA.log 将显示错误
- Command run as sudo $ sudo globalprotect import-certificate --location ~/cert_Client-Cert.p12 [sudo] password for user1: Please input passcode: - PanGPA.log P375660-T1048561408 12/21/2023 18:33:33:785 Debug(1011): GpiCommandProc - received message: <request><type>import-certificate</type><uid>0</uid><client-cert-path>/home/user1/cert_Client-Cert-2.p12</client-cert-path><client-cert-passcode>********</client-cert-passcode></request> P375660-T1048561408 12/21/2023 18:33:33:786 Debug( 217): handleUIData - uid did not match gpi's uid. return.
结论: 该行为是预期的,根据设计,请在运行 PanGPA 的同一用户上下文中运行 globalprotect CLI 命令
Additional Information
GlobalProtect 管理员指南:下载并安装适用于 Linux 的 GlobalProtect 应用程序