戰(zhàn)的完整指南)
1. 項(xiàng)目概述當(dāng)Ubuntu遇見企業(yè)AD域在不少人的印象里L(fēng)inux是開發(fā)者和極客的后花園而Windows的Active DirectoryAD域則是企業(yè)標(biāo)準(zhǔn)IT管理的代名詞。這兩個(gè)世界似乎涇渭分明。但現(xiàn)實(shí)情況是越來越多的企業(yè)環(huán)境呈現(xiàn)混合生態(tài)開發(fā)團(tuán)隊(duì)的主力機(jī)可能是Ubuntu而公司的統(tǒng)一身份認(rèn)證、策略管理和資源訪問卻牢牢綁定在AD域上。讓一臺(tái)Ubuntu 20.04.3桌面版或服務(wù)器版成功“加域”使其成為AD域中的一員能夠用域賬戶登錄、訪問域共享文件夾、執(zhí)行組策略部分功能就成了一個(gè)非常實(shí)際且高頻的需求。這個(gè)過程遠(yuǎn)不止在圖形界面點(diǎn)個(gè)“加入域”那么簡(jiǎn)單。它背后涉及一系列核心組件的協(xié)同realmd負(fù)責(zé)與域控的初始發(fā)現(xiàn)和加入握手sssdSystem Security Services Daemon則是后續(xù)所有身份認(rèn)證、信息查找的“大管家”而Kerberos協(xié)議則是整個(gè)信任關(guān)系的安全基石。網(wǎng)上教程很多但往往只給命令不說原理或者環(huán)境稍有差異比如域控版本、網(wǎng)絡(luò)配置、DNS解析就會(huì)導(dǎo)致加入失敗留下“無法解析主機(jī)名”、“權(quán)限不足”或“GSSAPI錯(cuò)誤”等令人頭疼的問題。今天我就以一個(gè)老運(yùn)維的視角帶你從頭到尾拆解Ubuntu 20.04.3加入AD域的全過程。我們不止步于“怎么做”更要深挖“為什么這么做”并分享那些只有踩過坑才知道的調(diào)試技巧和避坑指南。無論你是需要將個(gè)人開發(fā)機(jī)納入公司管理還是為整個(gè)Linux服務(wù)器集群配置集中認(rèn)證這篇文章都能給你一份可直接“抄作業(yè)”的詳細(xì)方案。2. 核心原理與組件拆解信任是如何建立的在動(dòng)手敲命令之前我們必須理解Ubuntu與AD域建立信任關(guān)系的底層邏輯。這絕非簡(jiǎn)單的“注冊(cè)”而是一套基于標(biāo)準(zhǔn)協(xié)議Kerberos, LDAP的復(fù)雜握手過程。2.1 核心三劍客realmd, sssd 與 Kerberos整個(gè)加域流程主要由三個(gè)核心組件驅(qū)動(dòng)它們各司其職又緊密協(xié)作realmd 這是“外交官”。它的職責(zé)是發(fā)現(xiàn)域、與域控制器建立初始聯(lián)系并執(zhí)行加入域的具體操作在AD中創(chuàng)建計(jì)算機(jī)對(duì)象、設(shè)置SPN等。它提供了一個(gè)統(tǒng)一的命令行接口realm join簡(jiǎn)化了背后復(fù)雜的Kerberos和Samba配置。你可以把它看作一個(gè)自動(dòng)化的“加域向?qū)А?。sssd 這是“大管家”兼“安全官”。一旦加入域所有后續(xù)的身份驗(yàn)證、授權(quán)和信息查詢?nèi)缬脩?、組信息都通過sssd來處理。它緩存用戶憑證和組信息極大減輕了域控制器的壓力并在網(wǎng)絡(luò)斷開時(shí)允許使用緩存的憑證登錄。sssd的配置是加域后能否順暢使用的關(guān)鍵。Kerberos 這是“信任協(xié)議”。AD域的核心認(rèn)證協(xié)議就是Kerberos。加域的本質(zhì)就是讓Ubuntu系統(tǒng)成為Kerberos領(lǐng)域Realm的一個(gè)主體Principal通常是主機(jī)主體如host/ubuntu-hostname.domain.comDOMAIN.COM。所有的安全通信都基于Kerberos票據(jù)Ticket進(jìn)行。注意 很多人會(huì)混淆realmd和sssd。簡(jiǎn)單記realmd管“加入”sssd管“加入后的一切”。realmd在完成加入動(dòng)作后會(huì)自動(dòng)生成一個(gè)基礎(chǔ)的sssd.conf配置文件。2.2 加域流程的“握手”協(xié)議一次成功的加域背后發(fā)生了以下關(guān)鍵對(duì)話DNS解析 你的Ubuntu必須能正確解析域控制器的SRV記錄如_ldap._tcp.dc._msdcs.domain和主機(jī)名。這是所有后續(xù)步驟的基礎(chǔ)很多失敗都源于此。時(shí)間同步 Kerberos協(xié)議對(duì)時(shí)間差極其敏感通常要求不超過5分鐘。必須確保Ubuntu主機(jī)的時(shí)間與域控制器同步最佳實(shí)踐是配置NTP服務(wù)指向域控制器或同一時(shí)間源。發(fā)現(xiàn)領(lǐng)域realm discover domain.com命令會(huì)通過DNS查詢發(fā)現(xiàn)指定域的Kerberos領(lǐng)域信息和可用的域控制器。建立信任realm join命令會(huì)使用提供的域管理員憑據(jù)在AD中為這臺(tái)Ubuntu主機(jī)創(chuàng)建一個(gè)計(jì)算機(jī)賬戶并生成一個(gè)專屬的密鑰存儲(chǔ)在/etc/krb5.keytab文件中。這個(gè)密鑰文件就是系統(tǒng)后續(xù)向域控制器證明自己身份的“印章”。配置SSSDrealmd會(huì)根據(jù)加入的域信息自動(dòng)配置sssd服務(wù)使其知道去哪里認(rèn)證、如何查找用戶信息。配置PAM與NSS 最后系統(tǒng)需要修改PAMPluggable Authentication Modules和NSSName Service Switch配置告訴系統(tǒng)“當(dāng)需要認(rèn)證或查詢用戶信息時(shí)去問sssd”。理解了這個(gè)流程當(dāng)出現(xiàn)問題時(shí)你就可以像偵探一樣沿著這條鏈路逐一排查而不是盲目地重試命令。3. 加域前的關(guān)鍵準(zhǔn)備避開80%的坑根據(jù)我的經(jīng)驗(yàn)90%的加域失敗都發(fā)生在準(zhǔn)備階段。以下步驟請(qǐng)務(wù)必逐一檢查它們決定了后續(xù)操作是水到渠成還是舉步維艱。3.1 網(wǎng)絡(luò)與DNS配置打通任督二脈Ubuntu必須能與域控制器無障礙通信并且必須使用域內(nèi)的DNS服務(wù)器進(jìn)行解析。檢查與配置方法編輯網(wǎng)絡(luò)配置 修改/etc/netplan/01-netcfg.yaml文件名可能不同請(qǐng)確認(rèn)你的實(shí)際文件。network: version: 2 ethernets: ens33: # 你的網(wǎng)卡名稱請(qǐng)用 ip a 命令查看 dhcp4: no addresses: [192.168.1.100/24] # 你的Ubuntu靜態(tài)IP gateway4: 192.168.1.1 nameservers: addresses: [192.168.1.10, 192.168.1.11] # 這里必須是你的域控制器IP或域內(nèi)DNS服務(wù)器IP search: [yourdomain.com] # 你的AD域名應(yīng)用配置sudo netplan apply。驗(yàn)證DNS解析 這是重中之重。# 解析域控制器主機(jī)名 nslookup dc01.yourdomain.com # 解析域本身的SRV記錄關(guān)鍵 nslookup -typeSRV _ldap._tcp.dc._msdcs.yourdomain.com # 反向解析確保域名設(shè)置正確 host 192.168.1.10如果nslookup命令返回server can‘t find ...: NXDOMAIN說明DNS配置有誤必須修正后才能繼續(xù)。實(shí)操心得 很多虛擬機(jī)環(huán)境喜歡用NAT模式并配置外部DNS如8.8.8.8。這在加域時(shí)是絕對(duì)行不通的。AD嚴(yán)重依賴內(nèi)部DNS的SRV記錄進(jìn)行服務(wù)定位。請(qǐng)務(wù)必為加域的Ubuntu配置靜態(tài)IP并將DNS服務(wù)器指向域控制器。3.2 主機(jī)名與時(shí)間同步細(xì)節(jié)決定成敗設(shè)置規(guī)范主機(jī)名 Ubuntu的主機(jī)名最好是一個(gè)簡(jiǎn)單的、符合NetBIOS規(guī)則的名稱如ubuntu-dev并且其完全限定域名FQDN必須能正確解析。# 查看當(dāng)前主機(jī)名 hostnamectl # 設(shè)置主機(jī)名臨時(shí)永久 sudo hostnamectl set-hostname ubuntu-dev # 確保 /etc/hosts 文件包含F(xiàn)QDN解析謹(jǐn)慎使用優(yōu)先依賴DNS # 127.0.1.1 ubuntu-dev.yourdomain.com ubuntu-dev重要 不要在/etc/hosts里硬編碼域控制器的IP和主機(jī)名這會(huì)導(dǎo)致DNS查找機(jī)制失效。應(yīng)完全信任配置好的DNS服務(wù)器。強(qiáng)制時(shí)間同步 Ubuntu 20.04默認(rèn)使用systemd-timesyncd但為了更可靠我建議安裝并配置chrony直接指向域控制器。sudo apt update sudo apt install chrony -y sudo systemctl stop systemd-timesyncd sudo systemctl disable systemd-timesyncd編輯/etc/chrony/chrony.conf注釋掉原有的pool添加server dc01.yourdomain.com iburst重啟服務(wù)并檢查同步狀態(tài)sudo systemctl restart chronyd chronyc sources -v chronyc tracking確保時(shí)間偏差在毫秒級(jí)。3.3 軟件包安裝備齊工具安裝必要的軟件包sudo apt update sudo apt install realmd sssd sssd-tools libnss-sss libpam-sss adcli samba-common-bin oddjob oddjob-mkhomedir packagekit -yrealmd,sssd 核心組件。adcli 用于AD命令行操作的輔助工具。oddjob-mkhomedir 一個(gè)很實(shí)用的組件能在域用戶首次登錄時(shí)自動(dòng)創(chuàng)建其家目錄。samba-common-bin 提供一些Samba工具realmd在背后會(huì)用到。4. 執(zhí)行加域操作與深度配置準(zhǔn)備工作萬無一失后我們就可以執(zhí)行核心的加域操作了。4.1 發(fā)現(xiàn)域與執(zhí)行加入發(fā)現(xiàn)域 這是一個(gè)預(yù)檢步驟可以驗(yàn)證網(wǎng)絡(luò)、DNS、Kerberos通信是否正常。sudo realm discover yourdomain.com成功的輸出會(huì)顯示域的詳細(xì)信息包括類型active-directory、域控制器列表、Kerberos領(lǐng)域名等。如果這一步失敗請(qǐng)回頭檢查DNS和時(shí)間同步。執(zhí)行加入命令 使用一個(gè)有權(quán)限在AD中創(chuàng)建計(jì)算機(jī)賬戶的域用戶通常是Domain Admins組的成員進(jìn)行加入。sudo realm join --verbose yourdomain.com -U admin_user --computer-ouOULinux Servers,DCyourdomain,DCcom--verbose 輸出詳細(xì)日志便于調(diào)試。-U 指定有權(quán)限的域用戶名執(zhí)行后會(huì)提示輸入密碼。--computer-ou強(qiáng)烈建議指定指定計(jì)算機(jī)賬戶在AD中創(chuàng)建的位置組織單位。如果不指定計(jì)算機(jī)會(huì)被創(chuàng)建在默認(rèn)的Computers容器里不利于后期管理。請(qǐng)?zhí)崆霸贏D中創(chuàng)建好對(duì)應(yīng)的OU。執(zhí)行后發(fā)生了什么命令會(huì)使用你提供的憑據(jù)在指定的OU下創(chuàng)建一個(gè)名為UBUNTU-DEV$你的主機(jī)名大寫的計(jì)算機(jī)賬戶。它會(huì)為該系統(tǒng)生成Kerberos密鑰并存儲(chǔ)在/etc/krb5.keytab。它會(huì)自動(dòng)配置/etc/sssd/sssd.conf和/etc/krb5.conf。它會(huì)修改/etc/nsswitch.conf在passwd、group、shadow行后添加sss。4.2 深度配置SSSD解鎖完整功能realmd生成的sssd.conf是一個(gè)最小化配置。為了更好的性能和功能我們需要進(jìn)行深度調(diào)優(yōu)。編輯/etc/sssd/sssd.conf[sssd] domains yourdomain.com config_file_version 2 services nss, pam [domain/yourdomain.com] # 基礎(chǔ)配置 ad_domain yourdomain.com krb5_realm YOURDOMAIN.COM realmd_tags manages-system joined-with-adcli cache_credentials True id_provider ad krb5_store_password_if_offline True default_shell /bin/bash ldap_id_mapping True # 啟用ldap_id_mapping后需要指定一個(gè)大的ID范圍避免沖突 ldap_id_mapping_max_id 2000000 # 指定用戶/組查找的AD容器提升效率 ldap_user_search_base OUUsers,DCyourdomain,DCcom ldap_group_search_base OUGroups,DCyourdomain,DCcom # 重要設(shè)置fallback主組。當(dāng)域用戶沒有設(shè)置主組時(shí)避免登錄失敗。 fallback_homedir /home/%u%d default_shell /bin/bash # 設(shè)置主組為“Domain Users”組的GID需要你查詢實(shí)際的GID # ldap_user_primary_group 513 # 更靈活的方式使用AD屬性 ldap_user_primary_group cnDomain Users,cnUsers,dcyourdomain,dccom # 訪問控制限制可以登錄的用戶或組按需配置 # simple_allow_groups linux_admins, developers # access_provider simple # 或者使用更靈活的AD組策略 access_provider ad # ad_access_filter (memberOfCNLinux_Server_Login,OUSecurity Groups,DCyourdomain,DCcom) # 性能優(yōu)化啟用內(nèi)存緩存 [nss] filter_groups root filter_users root memcache_timeout 300 entry_cache_nowait_percentage 75 [pam] offline_credentials_expiration 7 offline_failed_login_attempts 5 offline_failed_login_delay 10修改配置后必須重啟SSSD服務(wù)并設(shè)置正確的權(quán)限sudo chmod 600 /etc/sssd/sssd.conf sudo systemctl restart sssd4.3 配置自動(dòng)創(chuàng)建家目錄與sudo權(quán)限自動(dòng)創(chuàng)建家目錄 我們已經(jīng)安裝了oddjob-mkhomedir現(xiàn)在需要確保PAM會(huì)話模塊啟用。sudo pam-auth-update --enable mkhomedir這條命令會(huì)勾選“為首次登錄的用戶創(chuàng)建家目錄”選項(xiàng)。為域用戶/組配置sudo權(quán)限 這是將域賬戶用于管理的關(guān)鍵。方式一將域用戶加入本地sudo組不推薦權(quán)限過大。# 假設(shè)域用戶是 johndoe sudo usermod -aG sudo johndoeyourdomain.com注意這里需要用到domain格式的用戶名。方式二推薦在AD中創(chuàng)建一個(gè)安全組如Linux_Sudoers然后將需要sudo權(quán)限的域用戶加入該組。接著在Ubuntu上配置sudoers賦予該AD組權(quán)限。sudo visudo在文件末尾添加# 允許 AD 組 Linux_Sudoers 的所有成員擁有sudo權(quán)限 %Linux_Sudoersyourdomain.com ALL(ALL:ALL) ALL保存退出。這種方式集中管理更符合AD管理哲學(xué)。5. 驗(yàn)證、登錄與高級(jí)調(diào)試配置完成后必須進(jìn)行全面驗(yàn)證。5.1 基礎(chǔ)驗(yàn)證命令驗(yàn)證域成員身份realm list輸出應(yīng)顯示你的域并標(biāo)明configured: kerberos-member。驗(yàn)證Kerberos票據(jù) 為域管理員獲取一個(gè)票據(jù)。kinit administratorYOURDOMAIN.COM klist如果kinit成功且klist顯示票據(jù)說明Kerberos通信正常。查找域用戶和組信息# 查找用戶 id johndoeyourdomain.com getent passwd johndoeyourdomain.com # 查找組 getent group Domain Usersyourdomain.com如果這些命令能返回正確的用戶/組信息說明SSSD的NSS模塊工作正常。5.2 實(shí)際登錄測(cè)試圖形界面登錄Ubuntu Desktop 在登錄界面點(diǎn)擊“Not listed?”然后輸入yourdomain.com\username或usernameyourdomain.com格式的用戶名和密碼。SSH登錄Ubuntu Server 確保/etc/ssh/sshd_config中啟用了PAM和GSSAPI認(rèn)證通常默認(rèn)是開啟的。# 重啟SSH服務(wù) sudo systemctl restart sshd # 然后從另一臺(tái)機(jī)器嘗試SSH登錄 ssh johndoeyourdomain.comubuntu-dev.yourdomain.com5.3 高級(jí)調(diào)試與問題排查實(shí)錄當(dāng)事情不按預(yù)期發(fā)展時(shí)日志是你最好的朋友。SSSD的日志非常詳細(xì)。1. 開啟SSSD調(diào)試日志 編輯/etc/sssd/sssd.conf在[sssd]部分增加debug_level 9重啟SSSDsudo systemctl restart sssd。然后復(fù)現(xiàn)問題如嘗試登錄或執(zhí)行g(shù)etent。日志位于/var/log/sssd/目錄下查看sssd_yourdomain.com.log和sssd_nss.log。2. 常見問題速查表問題現(xiàn)象可能原因排查命令與解決思路realm discover失敗DNS無法解析域控制器SRV記錄nslookup -typeSRV _ldap._tcp.dc._msdcs.yourdomain.com檢查/etc/resolv.conf確保DNS服務(wù)器正確。realm join提示權(quán)限不足使用的域賬戶無權(quán)在指定OU創(chuàng)建計(jì)算機(jī)對(duì)象確認(rèn)OU路徑正確賬戶有“創(chuàng)建計(jì)算機(jī)對(duì)象”權(quán)限??蓢L試先在默認(rèn)Computers容器加入。kinit失敗提示時(shí)鐘偏差系統(tǒng)時(shí)間不同步timedatectl status配置并強(qiáng)制同步NTP。getent passwd查不到用戶SSSD未運(yùn)行或配置錯(cuò)誤systemctl status sssd檢查/etc/nsswitch.conf中是否有sss。查看SSSD日志。用戶能認(rèn)證但登錄失敗提示“無法創(chuàng)建家目錄”PAM的mkhomedir模塊未啟用或權(quán)限問題sudo pam-auth-update確保勾選mkhomedir。檢查/etc/pam.d/common-session是否包含相關(guān)模塊。SSH公鑰認(rèn)證失敗SSSD未配置或未啟用SSH公鑰支持在sssd.conf的domain部分添加ldap_user_ssh_public_key sshPublicKey并確保AD用戶對(duì)象的sshPublicKey屬性已填寫。重啟SSSD。sudo時(shí)提示“用戶不在sudoers文件中”AD組未正確配置到sudoers或組名格式錯(cuò)誤sudo visudo檢查組名格式需帶域名。在AD中檢查用戶是否在指定組內(nèi)??蓢L試用本地組測(cè)試。3. 一個(gè)經(jīng)典坑ldap_id_mapping與 UID/GID 沖突當(dāng)ldap_id_mapping True時(shí)SSSD會(huì)動(dòng)態(tài)地將AD的SID映射為一個(gè)本地UID/GID。這避免了與本地用戶的ID沖突但可能導(dǎo)致同一用戶在不同Linux主機(jī)上的UID不同。如果你需要一致的UID例如用于NFS共享則需設(shè)置ldap_id_mapping False并在AD中預(yù)先為所有用戶和組設(shè)置uidNumber和gidNumber屬性可通過ADSI Edit工具批量操作。這是一個(gè)管理負(fù)擔(dān)更重但更規(guī)范的方案。6. 生產(chǎn)環(huán)境加固與最佳實(shí)踐對(duì)于需要加入生產(chǎn)域的多臺(tái)服務(wù)器手動(dòng)操作效率低下且容易出錯(cuò)。以下是規(guī)模化部署的建議。6.1 使用配置管理工具自動(dòng)化你可以編寫Ansible Playbook、SaltStack State或Puppet Manifest來標(biāo)準(zhǔn)化加域流程。一個(gè)簡(jiǎn)單的Ansible Playbook骨架如下- name: Join Ubuntu hosts to AD Domain hosts: linux_servers become: yes vars: ad_domain: yourdomain.com ad_ou: OULinux Servers,DCyourdomain,DCcom ad_admin_user: join_account # 密碼應(yīng)使用Ansible Vault加密存儲(chǔ) ad_admin_pass: {{ vaulted_password }} tasks: - name: Install required packages apt: name: - realmd - sssd - sssd-tools - libnss-sss - libpam-sss - adcli - samba-common-bin - oddjob - oddjob-mkhomedir - packagekit - chrony state: present update_cache: yes - name: Configure Chrony to sync with DC template: src: chrony.conf.j2 dest: /etc/chrony/chrony.conf notify: restart chrony - name: Ensure correct hostname and DNS (pre-configured in netplan) - name: Discover the realm command: realm discover {{ ad_domain }} register: realm_discover changed_when: false failed_when: realm_discover.rc ! 0 - name: Join the realm command: realm join --verbose {{ ad_domain }} -U {{ ad_admin_user }} --computer-ou{{ ad_ou }} args: stdin: {{ ad_admin_pass }}\n when: realm_discover.rc 0 - name: Deploy custom sssd.conf template: src: sssd.conf.j2 dest: /etc/sssd/sssd.conf owner: root group: root mode: 0600 notify: restart sssd - name: Enable automatic home directory creation command: pam-auth-update --enable mkhomedir handlers: - name: restart chrony systemd: name: chronyd state: restarted enabled: yes - name: restart sssd systemd: name: sssd state: restarted enabled: yes6.2 安全加固建議使用專用加域賬戶 不要使用真正的域管理員賬戶進(jìn)行加域操作。在AD中創(chuàng)建一個(gè)權(quán)限受限的賬戶僅賦予其在特定OU下“創(chuàng)建計(jì)算機(jī)對(duì)象”和“重置密碼”的權(quán)限。配置細(xì)粒度訪問控制 充分利用SSSD的access_provider和simple_allow_groups或ad_access_filter嚴(yán)格控制哪些AD用戶或組可以登錄到這臺(tái)Linux主機(jī)。定期輪換計(jì)算機(jī)賬戶密碼 AD計(jì)算機(jī)賬戶的密碼默認(rèn)30天自動(dòng)更改。確保SSSD服務(wù)正常運(yùn)行以便能自動(dòng)更新本地的krb5.keytab文件。監(jiān)控SSSD日志避免因密碼更新失敗導(dǎo)致認(rèn)證中斷。集中化日志收集 將/var/log/sssd/下的日志統(tǒng)一收集到SIEM或日志平臺(tái)便于審計(jì)和故障排查。6.3 性能優(yōu)化點(diǎn)調(diào)整緩存時(shí)間 根據(jù)環(huán)境穩(wěn)定性在sssd.conf中調(diào)整entry_cache_timeout、memcache_timeout等參數(shù)。對(duì)于用戶信息變動(dòng)不頻繁的環(huán)境可以適當(dāng)延長緩存時(shí)間減少對(duì)域控制器的查詢壓力。優(yōu)化搜索基 如前面配置所示明確指定ldap_user_search_base和ldap_group_search_base避免SSSD在整棵AD目錄樹中進(jìn)行搜索可以顯著提升查詢性能??紤]只讀域控制器RODC 如果Linux服務(wù)器數(shù)量眾多且分布在不同的物理位置可以考慮在本地部署RODC讓Linux主機(jī)向RODC進(jìn)行認(rèn)證減輕主域控制器的負(fù)擔(dān)和廣域網(wǎng)延遲。讓Ubuntu融入AD域是一個(gè)連接兩個(gè)生態(tài)系統(tǒng)的橋梁工程。它不僅僅是運(yùn)行幾條命令更需要對(duì)背后身份認(rèn)證體系的理解。從精準(zhǔn)的DNS配置、嚴(yán)格的時(shí)間同步到SSSD服務(wù)的深度調(diào)優(yōu)和故障排查每一步都考驗(yàn)著運(yùn)維人員的細(xì)致程度。我個(gè)人的體會(huì)是前期在DNS和時(shí)間同步上多花十分鐘驗(yàn)證往往能節(jié)省后面數(shù)小時(shí)的調(diào)試時(shí)間。當(dāng)你的Ubuntu主機(jī)順利獲取到第一張Kerberos票據(jù)域用戶成功登錄并自動(dòng)創(chuàng)建出家目錄時(shí)那種兩個(gè)世界被打通的順暢感就是對(duì)這份細(xì)致工作最好的回報(bào)。最后一個(gè)小技巧是養(yǎng)成在重大配置變更前備份相關(guān)配置文件/etc/sssd/sssd.conf,/etc/krb5.conf,/etc/nsswitch.conf的習(xí)慣這能在出現(xiàn)問題時(shí)讓你快速回滾到已知的正常狀態(tài)。