Komut satırından sudo kullanıcılarına AD Etki Alanı kullanıcısı ekleme


10

Veritabanı sunucusu olarak kullanmak için bir Ubuntu 11.04 sunucusu VM'si kuruyorum. Windows kimlik bilgilerini kullanarak millet girişi yapabilseydik ve belki de makineyi başka bir yerde elimizdeki mevcut AD güdümlü güvenlikle çalıştırabilirsek herkesin hayatını kolaylaştırabilirdi.

Bunun ilk ayağını gerçekleştirmek gerçekten kolaydı - apt-get install likewise-openve iş dünyasında çok fazlaydım. Yaşadığım sorun yöneticilerimizi sudoers gruplarına sokmak - hiçbir şey alamıyorum. Denedim:

a) usermod -aG sudoers [username]
b) sudoers dosyasına çeşitli biçimlerde (DOMAIN \ user, user @ domain) kullanıcı adlarının eklenmesi.

Hiçbiri almak gibi görünmüyordu, hala "DOMAIN \ kullanıcı sudoers dosyasında değil. Bu olay bildirilecektir."

Peki, yerel olmayan kullanıcıları sudo kullanıcılarına nasıl ekleyebilirim?

Yanıtlar:


6

Bu sorunla karşılaşıyorum ve işte benim çözümüm:

Düzenle /etc/sudoers: aşağıdaki girişlerle

Önce komut kimliğini kullanarak aduser'ı kontrol edin

#id <AD user>( #id domain\\aduser01 )

Mayın sonuçları:

SMB\aduser01@linux01:~/Desktop$ id smb\\aduser02
uid=914883676(SMB\aduser02) gid=914883073(SMB\domain^users) groups=914883073(SMB\domain^users),1544(BUILTIN\Administrators),1545(BUILTIN\Users),914883072(SMB\domain^admins)

getent passwdve gid NUMBERSbenim için çalışmıyor. DOMAIN\\domain^usersbenim için çalışıyor

%SMB\\domain^users ALL=(ALL) ALL

hepimizin bildiği gibi bireysel AD kullanıcıları da

SMB\\<aduser01> ALL=(ALL) ALL

2

.local sufix ile uzun bir alan adımız var,

nötr

%domainname\\group ALL=(ALL) ALL

ne de

%domainname.local\\group ALL=(ALL) ALL

çalıştı ...

ama ben sadece böyle grup adını kullanırsanız:

%Domain^Admins ALL=(ALL) ALL

işe yarıyor.


Sonunda işe yarayan çözüm buydu. %Domain^Admins ALL=(ALL) ALL
mjp

2

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!


1
Uzun olabilir, ancak bağlantılar geçersiz hale geldiğinden, temel parçaların buraya bağlantı için referans linkiyle dahil edilmesi bir kuraldır.
TheWanderer

Aslında, gerekli parçaları, yani konsepti ekledim. Diğer parçaları kirazla seçebilirdim ama gerisi olmadan ve büyük resmi anlamadan işe yaramazlar, bu yüzden noktayı göremiyorum. İyiden daha fazla zarar verirdi.
bviktor

gelen bir kişinin cevabınıza bakabilmesi ve sorununu harici bir siteye gitmeden çözebilmesi gereken bir AskUbuntu kuralıdır.
TheWanderer

1
Daha alakalı bilgiler eklendi.
bviktor

1

Bu konuda bulabildiğim en iyi bilgiler burada:

http://www.mail-archive.com/likewise-open-discuss@lists.likewisesoftware.com/msg00572.html

Temel olarak sizden /etc/sudoers , AD'deki yönetici grubunuzdaki kişilerin tüm ayrıcalıklara erişmesine izin vermek dosyanızı doğru yapılandırmayla .

Kullanıcı tarafından seçici ve kısıtlayıcı olmanız gerekiyorsa, bunu da yapabilirsiniz. Ancak getend passwd, gösterildiği gibi komutu kullanarak linux sistemindeki kullanıcı adının ne olduğundan emin olmanız gerektiği konusunda uyarır .


Teşekkürler gerçekten nereye bakacağını anlayamadı. Kayıt için DOMIAN \\ kullanıcı adı bireyler için çalışır.
Wyatt Barnett

0

Doğrudan Centify kullanarak / etc / sudoers dosyasına etki alanı kullanıcısı ekledim.

(Alan Adı Kullanıcısı) ALL = (ALL) ALL


0

Ortak komutu kullanıyorum

sudo usermod -a -G sudo DOMAIN\username 

ve değiştirme DOMAIN\userile DOMAIN\\\username.

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.