Bu bloga başlamadan önce kesinlikle 'Kali'yi Tanıyalım' isimli blogda bulunan 'adduser' bölümünü okumanız gerekmektedir. Blogda, bu konu hakkında neyi neden yaptığımızı açıklamıştım. Blog içerisindeki adduser konusuna hâkim olduğunuzu varsayarak başlıyorum.
Bu işlemin sonunda kullanıcı, kullanıcı adını değiştirse bile bir daha root olamayabilir ve 'sudo' komutunu bir daha hiç kullanamayabilir. Yani makineyi tekrar kurmak zorunda kalabilir. Dolayısıyla şimdi, hiçbir şey yapmadan önce kullanıcıya vereceğimiz uyarılarımı düzenleyelim. Bunun için ilk önce 'warning' isimli bir fonksiyon açıyorum.

Yukarıda, 'warning' isimli ilk değişkenimiz ile kullanıcıya verdiğimiz kapsamlı uyarıyı görüyorsunuz. Uyarıda kullanıcıya, "birazdan göreceği 'Full Name[]:' kısmına yeni kullanıcı adını girmesi gerektiğini ve diğer alanları boş bırakmasını" söylüyoruz. Bununla beraber yine aynı değişken içerisinde "programın 45 saniye sonra devreye gireceğini" söylüyoruz. Buradaki 45 saniye, kullanıcının bunları okuması ve anlaması için verdiğim süre çünkü insan psikolojisi; doldurulacak alan geldiğinde hemen oraya odaklanır. O yüzden onu bekletiyorum ve okumaya mecbur bırakıyorum.
'warnReboot' isimli uyarımızda ise kullanıcıya, "işlemler tamamlandıktan sonra makinesini yeniden başlatmasını ve tekrar giriş yapmak için daha önce girdiği kullanıcı adı ve parolaya ihtiyacı olacağını" söyledik.
Son olarak bu iki uyarıyı echo ile ekrana yazdırdık.
Şimdi, blogun başında linkini verdiğim blogu okuduysanız bilirsiniz ki '/etc' klasörü içerisindeki 'sudoers' klasörüne girmemiz gerekiyor ve bu işlemi yalnızca 'root' kullanıcı yapabiliyor. Dolayısıyla bizim, kullanıcının root olup olmadığını kontrol etmemiz gerekiyor.

Bildiğiniz gibi 'whoami' komutu bize, kullanıcı adını veriyordu. O zaman bu kontrol için bu komutu kullanabiliriz.
'if [ $(whoami) != "root" ]' ifadesinin anlamı "whoami komutunun sonucu 'root' değilse..." şeklindedir. Eğer kullanıcı, root kullanıcı değilse ona root olması gerektiğini söylüyoruz. Ayrıca endişelenmemesi gerektiğini, sadece tanımlanacak yeni kullanıcı adı için root yetkilerini vereceğimizi; root olmasını bu yüzden istediğimizi söyledik.
'else' kısmında ise kullanıcının 'root' olduğu ihtimali değerlendiriyoruz. Kullanıcı eğer root ise ondan, yaratmak istediği yeni kullanıcının ismini istiyoruz.
Şimdi, az önce bahsettiğim 'sudoers' dosyasına girip biraz değişiklik yapmamız gerekiyor. Kali'yi Tanıyalım isimli blogdan hatırlatıcı:

Demek ki bu dosyaya girip '<kullanıcı adı> ALL=(ALL:ALL) ALL' şeklinde bir ekleme yapmamız gerekiyor. Çünkü burası, sudo komutunu kullanabilecek kullanıcıların bulunduğu yerdir. Biz de kendimizi buraya kaydediyoruz.

Kullanıcı adını aldıktan sonra '/etc' klasöründeki 'sudoers' dosyasına '<kullanıcı adı> ALL=(ALL:ALL) ALL' satırını ekliyoruz. Bu noktada kullanıcı, yeni kullanıcı adını 'cyberworm' olarak girerse sudoers dosyasına da şöyle bir şey eklenmiş olacak: 'cyberworm ALL=(ALL:ALL) ALL'. Bu işlem tamamlandıktan sonra echo ile kullanıcıyı bilgilendiriyoruz.

Kullanıcıyı da bilgilendirdikten sonra uyarı verdiğimiz 'warning' fonksiyonunu çağırıyoruz ve sleep 45 komutuyla kullanıcıyı 45 saniye bekletiyoruz.
Bu 45 saniye dolduktan sonra 'sudo adduser $newUser' ile, kullanıcıyı tanımlıyoruz. Buradaki kodu normal bir şekilde terminalden yazsaydık şöyle yazardık: 'sudo adduser cyberworm'. Ancak biz bunu otomatize ediyoruz.
Bu tanımlama işlemi de tamamlandıktan sonra kullanıcıya, makineyi reboot komutuyla yeniden başlatması gerektiğini söylüyoruz ve işimiz tamamlanıyor; fi komutunu veriyoruz.
Evet, projemiz bu kadardı. Şimdi, deneme aşamasına geçelim.
İlk önce kim olduğumuzu bilelim. O yüzden önce whoami komutunu veriyorum.

Şu an, kali kullanıcısındaymışız. O zaman ben, olduğu gibi yani root kullanıcı değilken bu programı çalıştırmayı deneyeceğim.

Evet, kontrolümüz işe yaradı. Kullanıcı, root değilken onu root olması konusunda uyarmıştık; çalışıyor. Şimdi, root olalım ve çalıştıralım. Önce 'sudo su' komutunu verip root olmamız lazım.

Çalıştıralım.

Gördüğünüz üzere root kullanıcı olduğum için herhangi bir uyarı vermedi ve bana yaratmak istediğim yeni kullanıcı adını sordu. Ben de oraya 'cyberworm' ismini girdikten sonra uyarılarımız önümüze geldi ve bu ekran tam 45 saniye boyunca böyle duracak.

45 saniye dolduktan hemen sonra bizi 'sudo adduser $newUser' komutu sayesinde kaydetti; çıktıları okuyabilirsiniz. Daha sonra bizden yeni bir parola girmemizi ve parolayı tekrar girmemizi istiyor.

Parolamızı girdikten sonra biraz önce sözüne ettiğimiz 'Full Name[]:' kısmı geldi. Buraya, hangi kullanıcı adını seçtiyseniz onu yazmak zorundasınız. Yazdıktan sonra başka alanlar da gelecektir; onları Enter tuşuna basarak geçebilirsiniz. Ancak yavaş yavaş geçin çünkü en sonda bizi bir soru bekliyor.

Kırmızı kutuda gördüğünüz gibi boş alanları geçtim. Yeşil kutuda ise bir soru var; bize, "Bilgiler doğru mu?" şeklinde soru soruyor. Eğer doğru girdiyseniz 'Y' tuşuna basıp onaylamanız yeterli olacaktır.
Aşağıdaki turkuaz kutu ise bizim uyarımız: "Makinenizi, reboot komutu ile yeniden başlatmalısınız.". reboot dedikten sonra makine yeniden başlatılacaktır. Giriş yapma alanına geldiğimizde ise artık yeni kullanıcı adınız ve parolanız ile giriş yapmanız gerekecektir.

Giriş yaptıktan sonra tekrar whoami çalıştırıp kim olduğumuza bakalım.

Evet, başarılı olduk; artık kali@kali değil, cyberworm@kali şeklinde gözüküyor. Ancak dikkatli bakın. Sol tarafta, benim biraz önceki 'adduser.sh' dosyam vardı ama şu an yok yani bu projeyi yaptığım dosyam ortada yok. Bunun sebebi, artık yeni kullanıcının içerisinde olmanızdır. Peki, kali kullanıcısına nasıl geri döneceğiz?
Bunun için cd komutu ile ana dizine indikten sonra cd .. komutunu veriyoruz. Burada, ls komutunu verdiğinizde kullanıcılarınızı göreceksinizdir.

Komutları tane tane inceleyin. '/home' dizinine indiğimde karşıma kullanıcılarım geldi ve kali kullanıcısında cd kali diyerek girebildim. Desktop'a girdiğimde dosyamın orada olduğunu görüyorum.
Şimdi, tekrar cyberworm kullanıcısına girelim ve sudoers klasörünü kontrol edelim.

Gördüğünüz gibi gayet başarılı bir script yazdık; birçok şeyi otomatize ettik. Kodları, kesintisiz bir şekilde aşağıda görebilirsiniz.

Yayınlanma Tarihi: 2022-09-23 14:14:50
Son Düzenleme Tarihi: 2022-09-25 12:51:02