若要在 SLED/SLES 虛擬機器 (VM) 上設定智慧卡重新導向,請安裝該功能所依賴的程式庫,以及支援受信任的智慧卡驗證所需的根憑證授權機構 (CA) 憑證。此外,您還必須編輯某些組態檔以完成驗證設定。
此程序中的某些範例使用預留位置值來代表您網路組態中的實體,例如 AD 網域的 DNS 名稱。請將預留位置值取代為您的組態特有的資訊,如下表所說明。
| 預留位置值 | 說明 |
|---|---|
| dns_IP_ADDRESS | DNS 名稱伺服器的 IP 位址 |
| mydomain.com | AD 網域的 DNS 名稱 |
| MYDOMAIN.COM | AD 網域的 DNS 名稱 (全部使用大寫字母) |
| MYDOMAIN | 包含 Samba 伺服器的工作群組或 NT 網域的 DNS 名稱 (全部使用大寫字母) |
| ads-hostname | AD 伺服器的主機名稱 |
| ads-hostname.mydomain.com | AD 伺服器的完整網域名稱 (FQDN) |
| mytimeserver.mycompany.com | NTP 時間伺服器的 DNS 名稱 |
| AdminUser | 虛擬機器管理員的使用者名稱 |
先決條件
完成整合 SLED/SLES 虛擬機器與 Active Directory 以支援智慧卡重新導向中所述的步驟。
程序
-
安裝 PAM 程式庫和其他所需的套件。
sudo zypper install pam_pkcs11 mozilla-nss mozilla-nss-tools pcsc-lite pcsc-ccid opensc pcsc-tools您可能需要啟用 PackageHub 等擴充功能才能安裝上述所有套件。
-
安裝根 CA 憑證。
-
下載根 CA 憑證,並將其儲存到系統中的
/tmp/certificate.cer。請參閱如何匯出根憑證授權機構憑證。 -
將信賴起點安裝至 NSS 資料庫。
sudo mkdir /etc/pam_pkcs11/nssdb sudo certutil -N -d /etc/pam_pkcs11/nssdb sudo certutil -L -d /etc/pam_pkcs11/nssdb sudo certutil -A -n rootca -i certificate.pem -t "CT,CT,CT" -d /etc/pam_pkcs11/nssdb -
安裝所需的驅動程式。
sudo modutil -add "opensc lib" -libfile /usr/lib64/opensc-pkcs11.so -dbdir /etc/pam_pkcs11/nssdb/
-
-
編輯
/etc/pam_pkcs11/pam_pkcs11.conf檔案,如下列範例所示。use_pkcs11_module = opensc; ... pkcs11_module opensc { module = /usr/lib64/opensc-pkcs11.so; description = "OpenSC PKCS#11 module"; slot_num = 0; nss_dir = /etc/pam_pkcs11/nssdb; crl_dir = /etc/pam_pkcs11/crls; support_threads = false; cert_policy = ca,signature; token_type = "Smart card"; } ... use_mappers = cn, null; ... mapper cn { debug = false; module = internal; ignorecase = true; mapfile = file:///etc/pam_pkcs11/cn_map; } -
編輯
/etc/pam_pkcs11/cn_map組態檔,並加入下列一行。ads-hostname -> ads-hostname -
修改 PAM 組態。
-
若要能夠設定智慧卡驗證,請先停用
pam_config工具。sudo find /etc/pam.d/ -type l -iname "common-*" -delete sudo for X in /etc/pam.d/common-*-pc; do cp -ivp $X ${X:0:-3}; done -
在
/etc/pam.d/目錄下建立名為common-auth-smartcard的檔案。在檔案中新增下列內容。auth required pam_env.so auth sufficient pam_pkcs11.so auth optional pam_gnome_keyring.so auth [success=1 default=ignore] pam_unix.so nullok_secure try_first_pass auth required pam_winbind.so use_first_pass -
在
/etc/pam.d/gdm和/etc/pam.d/xscreensaver這兩個檔案中,將auth include common-auth這一行替換為auth include common-auth-smartcard。
-
-
若要將 pcscd 服務設定為在虛擬機器重新啟動後自動啟動,請編輯
pcscd.service檔案。-
在
/usr/lib/systemd/system/pcscd.service中新增一行WantedBy=multi-user.target,使該檔案與以下範例相同。[Unit] Description=PC/SC Smart Card Daemon Requires=pcscd.socket [Service] ExecStart=/usr/sbin/pcscd --foreground --auto-exit ExecReload=/usr/sbin/pcscd --hotplug [Install] Also=pcscd.socket WantedBy=multi-user.target -
編輯
pcscd.service檔案後,執行下列命令。sudo systemctl enable pcscd
**附註:**如果 pcscd 服務在虛擬機器重新啟動後未能啟動,透過 pam_pkcs11 的第一次登入將會失敗。
-
-
關閉防火牆。
sudo rcSuSEfirewall2 stop sudo chkconfig SuSEfirewall2_setup off sudo chkconfig SuSEfirewall2_init off**附註:**啟用防火牆時,智慧卡重新導向有時會失敗。
-
若要支援智慧卡單一登入 (SSO) 功能,請設定 viewagent-greeter.conf 檔案。請參閱在 Linux 桌面平台上設定組態檔中的選項。
-
安裝啟用智慧卡重新導向的 Horizon Agent 套件。
sudo ./install_viewagent.sh -m yes**附註:**如果出現錯誤訊息,提示您需要安裝預設的 PC/SC Lite 程式庫,請先解除安裝機器上現有的自訂 PC/SC Lite 程式庫,然後使用下列命令安裝預設的 PC/SC Lite 程式庫。
sudo zypper install -f -y pcsc-lite libpcsclite1接著,您即可執行 Horizon Agent 安裝程式。
-
如果您使用自訂的 PC/SC Lite 程式庫,請在組態檔中設定 pcscd.maxReaderContext 和 pcscd.readBody 選項。
-
重新啟動虛擬機器,並重新登入。
此頁面對您有幫助嗎?