Merhabalar,
Konu başlığına bakınca böyle basit bir konuda da yazılır mı diyebilirsiniz belki 🙂 Fakat uygulamaya geçtiğinizde aslında böyle bir seçeneğin olmadığını göreceksiniz ve belki de bu makaleye ihtiyaç duyacaksınız…
VMware vCenter üzerinde bir SSO user açtığınızı düşünelim. SSO user diyorum, çünkü bir de vcenter linux işletim sisteminin local sistem kullanıcıları (örneğin root) bulunuyor. Belirtmek istediğim sistem kullanıcıları değil, @vsphere.local uzantılı şekilde oluşturduğunuz SSO Domain kullanıcılarıdır. Böyle bir kullanıcının, hesap özelliklerine baktığınızda, password never expire gibi bir seçenek görememektesiniz. Grafik ara birimden yapabildiğiniz tek iş, kullanıcı parolasını değiştirebilmek…
Ek olarak, belli bir süre sonra da kullanıcıların, parola değiştirilmesi için zorlanması sağlanabiliyor. Parola değiştirme zamanı gelen kullanıcı da eğer değişim yapmazsa, sisteme bağlanamamaktadır. Bunu da aşağıdaki gibi “password policy” ayarlarınızda görebilirsiniz.
Şimdi bu bilgiler ışığında şöyle bir ihtiyaç ortaya çıkabilir. Örneğin, bir uygulamanız var ve vCenter sunucunuza belli kurallar çerçevesinde bağlanıp, ilgili işlerinizin bu kullanıcı ile yapılmasını istiyorsunuz diyelim. Belki de bir geliştirme ortamınız var ve o ortamla vCenter ortamınızı haberleştirmek için bu kullanıcıyı oluşturdunuz. Fakat 90 gün sonra ki yukarıda parola politikasında 90 gün sonunda parola değiştirilmesi belirtiliyor, parola değişim zamanı geleceği için bu kullanıcı ile sistemdeki işler yapılamayacak. Dolayısıyla, aynı active directory ortamınızda olduğu gibi, bazı servis hesaplarınız için parola süresinin asla dolmaması gerektiğini belirlemeniz gerekebilir.
İşte bu makalede, vCenter üzerindeki kullanıcılarınız için grafik ara birimden yapılamayan bu işlemin, komut satırından nasıl yapılacağını öğreneceğiz. Hızlıca başlıyoruz…
Öncelikle VMware vCenter sunucumuza SSH ile bağlanıyoruz ve /usr/lib/vmware-vmafd/bin/ dizinine geçiş yapıyoruz.
shell
cd /usr/lib/vmware-vmafd/bin/
Hesabımızın, sistem üzerinde olup olmadığını teyit etmek isterseniz, aşağıdaki komutu kullanabilirsiniz. Burada sizden, Administrator SSO parolası istenecek.
./dir-cli user find-by-name –account yusuf.isleyen
Bu kullanıcıya ait detayları görmek istersek de aşağıdaki şekilde kulanabiliriz. Burada level 1 ve level 2 gösterimleri mevcut oluyor. Level 1 çok basit temel bilgileri gösterirken, level 2 aşağıdaki gibi biraz daha detay bilgileri getirmekte…
./dir-cli user find-by-name –account yusuf.isleyen –level 2
Bakınız bu çıktıda, hesabın kilitli olup olmadığını, parola süresinin bitip bitmediğini ve parola geçerliliğinin bitiş süresine dair bilgileri görebilmekteyiz.
Hesap parolasını, expire olmayacak şekilde değiştirmek istersek aşağıdaki komutu kullanabiliriz.
./dir-cli user modify –account yusuf.isleyen –password-never-expires
Tekrar kontrol edelim.
./dir-cli user find-by-name –account yusuf.isleyen –level 2
Bu arada ./dircli komutunu, sistem üzerinde daha birçok işlemi gerçekleştirebilmek için kullanabilirsiniz. Sadece komutu yazıp, enter tuşuna bastığınızda, kullanabileceğiniz tüm argümanları listeleyebilir ve ihtiyacınız olan argümanı kolaylıkla kullanabilirsiniz. Uzun bir liste göreceksiniz.
Örneğin komut satırından SSO kullanıcı parolası üzerinde işlem yapmak isterseniz, aşağıdaki argümanları kullanmanız gerekiyor.
password reset –account
[ –new ]
[ –login ]
[ –password ]
password change –account
[ –current ]
[ –new ]
Örneğin parola değiştirmek istersek:
./dir-cli password change –account yusuf.isleyen
Veya komutu daha uzun yazıp, current ve new parametrelerini kullanarak tek satırla da parola değişimi yapabilirdiniz. Bu durumda, komut satırında parolalar açık olarak görüleceği için ben komutu bu şekilde kullandım.
Bu uygulamayla, belirlediğimiz kullanıcı için password never expire olacak şekilde düzenleme yapılmış oldu.
Yararlı olması dileğiyle.
Yusuf İşleyen