Diğer önerilerle ilgili sorun,
- yalnızca şirket LAN'ına (veya VPN'ye) erişiminiz olduğunda çalışır
- her bilgisayardaki sudoers dosyasını her zaman korumalısınız
- bonus olarak, benim için çalışmadılar - hiç
Bunun yerine,
- hem kimlik bilgilerini hem de sudo erişimini önbelleğe alır
- merkezi olarak yönetiliyor
Asıl çözüm SSSD kullanmak ve AD şemasını genişletmektir. Bu şekilde SSSD, sudo ayarlarını ve kullanıcı kimlik bilgilerini düzenli aralıklarla AD'den alır ve yerel önbelleğini korur. Sudo kuralları daha sonra AD nesnelerine depolanır; burada kuralları bilgisayarlarda, kullanıcılarda ve komutlarda, hatta iş istasyonlarında bir sudoers dosyasına dokunmadan da kısıtlayabilirsiniz.
Tam öğretici burada açıklamak için çok uzun, ancak otomasyona yardımcı olacak adım adım kılavuzu ve bazı komut dosyalarını burada bulabilirsiniz:
TL; DR:
AD
En son sürümünü tut sudo olsun, doc / schema.ActiveDirectory sonra (alan adı göre alan yolunu değiştirmek için emin olun) içe, dosyayı:
ldifde -i -f schema.ActiveDirectory -c "CN=Schema,CN=Configuration,DC=X" "CN=Schema,CN=Configuration,DC=ad,DC=foobar,DC=com" -j .
ADSI Düzenleyicisi ile doğrulayın: Şema adlandırma içeriğini açın ve sudoRole sınıfını arayın .
Şimdi etki alanı kökünüzde sudoers OU'sunu oluşturun , bu OU tüm Linux iş istasyonlarınız için tüm sudo ayarlarını tutacaktır. Bu kuruluş biriminin altında bir sudoRole nesnesi oluşturun. SudoRole nesnesini oluşturmak için ADSI Düzenleyicisi'ni kullanmanız gerekir, ancak oluşturulduktan sonra, değiştirmek için Active Directory Kullanıcıları ve Bilgisayarları'nı kullanabilirsiniz.
Diyelim ki foo32linux adında bir bilgisayarım var, stewie.griffin adında bir kullanıcı var ve onun bu komutta sudo ile tüm komutları çalıştırmasına izin vermek istiyorum. Bu durumda, sudoers OU altında bir sudoRole nesnesi oluşturun . SudoRole için istediğiniz herhangi bir adı kullanabilirsiniz - bilgisayar başına kuralları kullandığım için bilgisayar adıyla sadık kalıyorum. Şimdi özelliklerini aşağıdaki gibi ayarlayın:
- sudoHost : foo32linux
- sudoCommand : TÜM
- sudoUser : stewie.griffin
Komutlar için / bin / less veya başka herhangi bir şey gibi belirli girişleri de kullanabilirsiniz .
SSSD
En azından /etc/sssd/sssd.conf dosyasına ekleyin :
[sssd]
services = nss, pam, sudo
[domain/AD.FOOBAR.COM]
cache_credentials = True
SSSD, yerel önbelleğini güncellenmiş kurallarla birkaç saatte bir yeniler, ancak bunu test etmenin en basit yolu bilgisayarı yeniden başlatmaktır. Ardından AD kullanıcısı ile giriş yapın ve şunları kontrol edin:
sudo -l
Bu kullanıcıya ve bilgisayara eklediğiniz tüm ilgili girişleri listelemelidir. Çantada keklik!
%Domain^Admins ALL=(ALL) ALL