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.app
için belirler/dev/console
.loginwindow.app
system.login.console
yetkilendirme veritabanının aşağıdaki mekanizmaları belirttiği yetkilendirme hakkını edinme girişimleri (işlevlerini anlamamla birlikte listelenmiştir); imtiyazlı olanlarauthd
süreç içinde (kök olarak) çalıştırılırken, imtiyazlı olmayanlarSecurityAgent
sü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-begin
builtin: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çinauthorization
hizmet; kümeleri "uid" bağlam değeri).PKINITMechanism:auth,privileged
(TGT elde ederek Kerberos'u başlatır).builtin:login-success
loginwindow: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?
builtin
Mekanizma/System/Library/CoreServices/SecurityAgentPlugins
olmayanların altında bulunabilecek eklentiler tarafından tanımlandığını biliyorum , ancak oluşturuldukları kaynağı bulamıyorum.builtin
Mekanizmaları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-login
builtin:auto-login
Ayrı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.so
modü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:authenticate
mekanizmadan önce gerçekleşmelidir .Bir rahat muayene itibaren
loginwindow
eklenti 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:authenticate
olduğ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.)