sudo globalprotect CLIコマンドがUbuntuでクライアント証明書をインポートしない
5151
Created On 12/21/23 18:48 PM - Last Modified 02/02/24 05:43 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アプリをダウンロードしてインストールする