Kerberos bileti kullanarak Automount Windows paylaşımlarında Ubuntu 18.04


2

Birkaç gündür bununla mücadele ediyorum. Bir Ubuntu 18.04 iş istasyonunu esas olarak Windows olan bir ağa entegre etmeye çalışıyorum. Kimlik doğrulama, Windows Server 2012 çalıştıran bir sunucuda Active Directory tarafından yapılır. Etki alanına çok fazla sorun olmadan katılmayı başardım. Yapmak istediğim bir sonraki şey otomatik olarak Linux kullanıcısı için bir Windows paylaşımını bağlamak. Bu satırı /etc/auto.master dosyasına ekleyerek çalışmasını sağladım:

/mnt/cifs /etc/auto.cifs --timeout=60 --ghost

ve /etc/auto.cifs içindeki bu:

NameOfTheShare -fstype=cifs,uid=$UID,gid=100,username=&,credentials=$HOME/.smbcredentials ://ServerName/NameOfTheShare

Şimdi, kullanıcı parolalarını bir dosyada düz metin olarak kullanma fikrinden memnun değilim. Ayrıca, bir yerde CIFS hissesi oluşturmak için Kerberos biletini kullanmanın mümkün olduğunu okudum. Ben de bunun yerine auto.cif dosyasına koymaya çalıştım:

NameOfTheShare -fstype=cifs,sec=krb5,username=&,domain=mydomain.local,multiuser,cruid=${UID} ://ServerName/NameOfTheShare

(Bu, CentOS 7'de düzgün çalışan bir dosyadır).

İşe yaramadığı için, otomatik hataların izlerini aramaya karar verdim. Anlaşılan, bunu başarmanın tek yolu, autofs hizmetini durdurmak ve otomatik seçenek açıkken ön planda otomatik sayıyı çalıştırmaktır:

$ sudo service autofs stop
$ sudo automount -f -v

Şimdi, cdiçine girdiğimde /mnt/cifs/NameOfTheShare, pay beklendiği gibi bağlandı (bu yüzden hiçbir şeyde hata ayıklayamam!)

Automount'u öldürürsem, paylaşımın elle bağlantısını kes ve autofs.service dosyasını yeniden başlattıysam, ilk sorun geri gelir: /mnt/cifs/NameOfTheSharemonte edilemez.

Autofs hizmetinin çalışır durumda olması ve otomatik olarak başlatılmasının otomatik olarak başlatılması arasındaki fark, ikinci yöntemin ikinci başarılı olduğunda ilk yöntemin başarısız olduğunu açıklayabilir mi?

Yardımcı soru: Bir yerde autofs hizmetinin bir hata kaydı yok mu? Hiç bulamadım. Journalctl bile değerli bir bilgi vermez.

Düzenle:

İşte çıktısı klist:

Ticket cache: FILE:/tmp/krb5cc_1072801131_l33ZzG
Default principal: MyLogin@MYDOMAIN.LOCAL

Valid starting       Expires              Service principal
31/08/2018 15:11:10  01/09/2018 01:11:10  krbtgt/MYDOMAIN.LOCAL@MYDOMAIN.LOCAL
        renew until 01/09/2018 15:11:10

Düzenleme 2:

Automount hatası hakkında daha fazla bilgi bulmayı başardım. Syslog bu mesajı gösterir:

No credentials cache found (filename: /tmp/krb5cc_1072801131_igAxKm)

Ancak, klistşimdi bana verir:

Ticket cache: FILE:/tmp/krb5cc_1072801131_zgYtQf

Automount yanlış kimlik bilgileri önbellek dosyası adını arıyor gibi görünüyor. Sorun şu ki, nasıl düzeltileceği hakkında hiçbir fikrim yok.


Senin auto.cifs dosyası değişmez metin içeren mu uid=$UID, cruid=${UID}vb, ya da değeri olarak gerçek sayılarını var?
Grawity,

@grawity Evet, değişmez metin içeriyor uid=$UIDve cruid=${UID}.
Nicolas,

Hangi Kerberos kimlik bilgileri önbellek türünü kullanıyorsunuz klist? (DOSYA, DIR, ANAHTAR, vb)?
grawity

@grawity: Soruma cevabımı düzenlediğim soruyu düzenledim
Nicolas

Yanıtlar:


0

Libpam-krb5 kullanıyor musunuz? Evetse, krb5cc_1072801131_zgYtQf adını krbcc5cc_1072801131 olarak yeniden adlandırın ve tekrar kontrol edin. Cifs.upcall FILE gibi bir şeye ihtiyaç duyuyor: / tmp / krb5cc_ (UID). Libpam-krb5'i kaldırın ve çalışması gerekir.


0

İşte başka bir çözüm. Krb5.conf içine böyle bir şey koyun ve pam_krb5 ile çalışır.

[appdefaults]
forwardable = true  
pam = {  
    minimum_uid = 1000  
    ccache=FILE:/tmp/krb5cc_%u  
    YOUR.REALM = {  
        ignore_k5login = true  
    }  
}

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.