Arka fon
VPN Tek Oturum Açma'ya ulaşmanın en iyi yoluna karar vermek için OS X giriş sürecini daha iyi anlamaya çalışıyorum .
Lütfen yanılıyorsam beni düzeltin, ama inanıyorum ki—
launchd(8)çağırırgettyent(3)ve böylecettys(5)yürütmekloginwindow.appiçin belirler/dev/console.loginwindow.appsystem.login.consoleyetkilendirme veritabanının aşağıdaki mekanizmaları belirttiği yetkilendirme hakkını edinme girişimleri (işlevlerini anlamamla birlikte listelenmiştir); imtiyazlı olanlarauthdsüreç içinde (kök olarak) çalıştırılırken, imtiyazlı olmayanlarSecurityAgentsüreç içinde çalışır (_securityagent olarak):builtin:policy-banner( ayarlanmışsa, Giriş Penceresi başlığını görüntüler ).loginwindow:login(kimlik bilgilerini ister).builtin:login-beginbuiltin:reset-password,privileged( Apple Kimliği kullanarak şifre sıfırlama gerçekleştirir ).builtin:forward-login,privileged(açılışta EFI'den kimlik bilgilerini iletir).builtin:auto-login,privileged(önyüklemede otomatik oturum açma kimlik bilgilerini uygular).builtin:authenticate,privileged(başlatırpam_authenticate(3)içinauthorizationhizmet; kümeleri "uid" bağlam değeri).PKINITMechanism:auth,privileged(TGT elde ederek Kerberos'u başlatır).builtin:login-successloginwindow:success(oturum açma oturumunu yetkisiz uzaktan erişimden korur; oturum açmayı sistemin utmp ve utmpx veritabanlarına kaydeder; konsol terminalinin sahibini ve izinlerini ayarlar).HomeDirMechanism:login,privileged(kullanıcının ana dizinini bağlar).HomeDirMechanism:status(giriş dizini montajının ilerlemesini görüntüler).MCXMechanism:login(yapılandırma profillerini uygular).loginwindow:done(kullanıcının tercihlerini genel sistem varsayılanlarını içerecek şekilde sıfırlar; fare, klavye ve sistem sesini kullanıcının tercihlerini kullanarak yapılandırır; kullanıcının grup izinlerini ayarlar; kullanıcı kaydını Dizin Hizmetleri'nden alır ve bu bilgileri oturuma uygular; kullanıcının bilgi işlemini yükler ortam — tercihler, ortam değişkenleri, cihaz ve dosya izinleri, anahtarlık erişimi vb. dahil; Dock, Finder ve SystemUIServer'ı başlatır; kullanıcı için giriş öğelerini başlatır).
Sorular
Her mekanizmanın işlevini anladığımı doğrulamak istiyorum:
Kaynak kodları açıkça mevcut mu?
builtinMekanizma/System/Library/CoreServices/SecurityAgentPluginsolmayanların altında bulunabilecek eklentiler tarafından tanımlandığını biliyorum , ancak oluşturuldukları kaynağı bulamıyorum.builtinMekanizmaların nerede tanımlandığını da bulamıyorum .Kaynak mevcut değilse, mekanizmalar herhangi bir yerde belgeleniyor mu?
Gözlemler
Daha önce
loginwindow:loginçağrılırsa ve bunlardan biri GUI'nin atlanmasına neden olursa kimlik bilgilerini nasıl isteyebilirim ? Bu tür kimlik bilgileri için bağlamı inceler ve varsa kendilerini atlar mı? Tuhaf görünüyor.builtin:forward-loginbuiltin:auto-loginAyrıca, Apple'ın 802.1X Kimlik Doğrulaması teknik tanıtım belgesinde açıklandığı gibi :
Oturum Açma Penceresi Modu yapılandırıldığında ve kullanıcı oturum açma penceresine bir kullanıcı adı ve parola yazdığında iki şey olur. İlk olarak, oturum açma penceresi kullanıcının girdiği kullanıcı adını ve şifreyi kullanarak bilgisayarın 802.1X üzerinden kimliğini doğrulayacaktır. 802.1X kimlik doğrulaması başarılı olduktan sonra, oturum açma penceresi dış dizin için aynı kullanıcı adı ve parolayı doğrular.
Bu kimlik doğrulamanın ikinci aşaması
pam_opendirectory.somodül tarafından işlendiğinden ve var olan ağa bağlı olduğundan, ilk aşama (802.1X aracılığıyla ağa kimlik doğrulaması) mutlaka bundan önce gerçekleşmelidir. Yani,builtin:authenticatemekanizmadan önce gerçekleşmelidir .Bir rahat muayene itibaren
loginwindoweklenti ikili, tür 802.1X kimlik doğrulaması-ama kolları tek mekanizma öncesinde eklentisi olduğu içinde çağrılan gibi görünüyorbuiltin:authenticateolduğunuloginwindow:login. Bu mekanizmanın yalnızca oturum açma istemini görüntülemekle kalmayıp 802.1X kimlik doğrulamasını da denediğini düşünerek haklı mıyım? (Öyleyse, bu sadece biraz özensiz IMHO gibi görünmekle kalmaz, aynı zamanda EFI / otomatik oturum açma kimlik bilgilerinin 802.1X oturum açma penceresi kimlik doğrulaması için kullanılamayacağını da gösterir.)