如何在 Debian Buster 上的 Samba/Winbind 中使用記憶體的憑據?
在混合環境中使用 Debian 和 Windows 很長一段時間後,我一直堅持嘗試使用記憶體的憑據在域環境中登錄。使用憑據登錄後,當機器不再連接到域控制器時,我仍然想登錄。
此行為由 Windows 客戶端實現,因此筆記型電腦使用者仍然可以登錄。除非存在連接,否則只能使用掛載點。我想在我的 Debian/GNU Linux 客戶端上實現同樣的目標。
進一步說明
該工作站使用帶有 GUI(Xorg、XFCE、LightDM)和 Samba(Winbind)的 Debian Buster。這是一個幾乎預設的安裝。
:~$ uname -a Linux client-ph-wkst 4.19.0-8-amd64 #1 SMP Debian 4.19.98-1 (2020-01-26) x86_64 GNU/Linux :~$ sudo samba -V Version 4.9.5-Debian
工作站已成功連接到域控制器 (Samba 4)。一切正常。我從 Jessie 開始就使用這個設置,它很好。所有域使用者都可以在該機器上登錄,擁有自動創建的主目錄等等。唯一的例外是缺少離線身份驗證。
根據 Samba Wiki ( https://wiki.samba.org/index.php/PAM_Offline_Authentication )
smb.conf
已修改為包含winbind offline logon = yes
.在測試它時,它按預期工作。當手動將 winbind 設置為離線時(
sudo smbcontrol winbind offline
),我可以驗證 PAM 是否正在使用記憶體的憑據。即使通過物理拔掉電纜,我也可以達到同樣的效果。問題
但是當我拔下電纜並重新啟動系統時,我無法登錄。它掛在 LightDM 登錄螢幕上。我可以通過按
Ctrl
++切換到Alt
控制台F1
。我可以使用系統的 root 帳戶登錄,因為這不會請求域控制器。當我使用 root 查看服務時,我可以看到 nmbd 沒有執行。通過檢查它的日誌,journalctl -xe
我看到它沒有啟動,因為No local IPv4 non-loopback interfaces available。Debian GUI 安裝中的預設網路配置工具是 NetworkManager。我
nmcli general
可以看到我沒有連接。快速而骯髒的解決方案
在沒有物理插入電纜的情況下,我通過輸入手動啟動介面
nmcli connection up pewpewdefaultconnection
。我重新啟動 samba 和 nmbd 服務。瞧!它正在工作。我可以輸入我的憑據,甚至重新啟動 lightdm 服務並使用我的記憶體憑據輸入所有內容。找到好的和乾淨的解決方案
因為我不想要像之前描述的那樣醜陋的解決方案,所以我請求你幫助我。有沒有人以乾淨的方式做到這一點?我真的很感激任何幫助。
我不想設置一個腳本來進行我之前描述的呼叫,因為它們看起來很醜陋。如果可能的話,我想更喜歡配置風格的東西。
注意:我嘗試
auto eth0
在網路介面中使用並使其被 NetworkManager 的配置文件以managed=true
. 這並沒有顯示出任何改善。
我恢復了一切,只留下
winbind offline logon = yes
了smb.conf
。幾天后,當拔下 eth 電纜時,我意識到它正在工作。咦!?在網路中的另一台客戶端電腦上,我進行了相同的配置更改
smb.conf
,我可以確認它也在那里工作。