Linux Fundamentals Part 1 Walkthrough

Bu yazımızda Tryhackme platformunda yayınlanan “Linux Temelleri” serisinin ilki olan “Linux Fundamentals Part-1’in walkthrough “unu ele alacağız.

İyi okumalar…

Task 1 – Task-2

İlk iki task’da linux hakkında genel bilgilendirme yapılmaktadır.

Kısaca linux hakkında bilgi vermek gerekirse: 

Linux, açık kaynaklı bir işletim sistemi çekirdeğidir ve ilk olarak 1991 yılında Linus Torvalds tarafından geliştirilmeye başlanmıştır. Açık kaynaklı, özgürce kullanılabilir, dağıtılabilir ve değiştirilebilir bir yapıya sahiptir.

Birçok farklı dağıtım (distribution) altında sunulmaktadır. Dağıtımlar, Linux çekirdeği ile birlikte gelen yazılımların ve araçların belirli bir kombinasyonunu içerir. 

Örneğin; Ubuntu, Fedora, Debian, CentOS gibi popüler dağıtımları çokça duymuşsunuzdur.

Bu işletim sistemi genellikle sunucular, gömülü sistemler, süper bilgisayarlar ve kişisel bilgisayarlar gibi çeşitli platformlarda kullanılmaktadır. Ayrıca Android işletim sistemi de Linux çekirdeği üzerine kurulmuştur.

Linux’un temel özellikleri arasında güvenilirlik, performans, özgürlük ve esneklik olduğunu söyleyebiliriz. Açık kaynaklı doğası sayesinde, dünya çapındaki birçok geliştirici ve topluluk, sürekli olarak Linux’un gelişimine katkıda bulunmaktadır. (Tryhackme üzerinde verilen okuma kısımlarına göz atmalısınız!)

Genel bilgileri edindiğimize göre, Task-2 içerisinde bir adet araştırma sorunun bizi karşıladığını görüyoruz.

Soru: Linux işletim sisteminin ilk sürümü hangi yılda çıktı?

Cevap : 1991

Daha önce değindiğimiz gibi; Linux, 1991’de Linus Torvalds tarafından geliştirilmiştir ve İlk sürümü, MINIX’in sınırlamalarıyla mücadele etmek için başlatılmıştır.

Task-3

Bu bölümde linux işletim sistemine ilgili platform üzerinden nasıl bağlantı kuracağınız anlatılmakta. Platformun sağlamış olduğu “attackbox” üzerinden okuma kısmında tanımlandığı gibi erişim sağlayabilirsiniz.

Onun dışında kendi host makinanıza “Vmware” ve “Virtual box” gibi sanallaştırma yazılımları aracılığıyla da ilgili linux dağıtımlarını kurabilirsiniz. 

İlgili sanallaştırma yazılımlarının her ikisi de bilgisayarınızda sanal makineler oluşturmanıza olanak tanır. Sanal makinelerden kastımız ise, fiziksel bir bilgisayarda çalışan işletim sistemlerini ve uygulamaları simüle eden sanal bir ortamdır. 

Bahsettiğimiz sanallaştırma yazılımlarının özellikleri şu şekildedir.

VirtualBox:

Oracle tarafından geliştirilen açık kaynaklı bir sanallaştırma yazılımıdır.

Windows, macOS, Linux ve Solaris gibi birçok işletim sistemi üzerinde çalışabilir.

Kullanıcı dostu bir arayüze sahiptir ve genellikle kişisel kullanım için tercih edilir.

Sanal makineler oluşturmak, başlatmak ve yönetmek için geniş bir özellik yelpazesine sahiptir.

Ücretsiz olarak sunulan bir versiyonu bulunmaktadır.

VMware:

VMware Inc. tarafından geliştirilen bir sanallaştırma yazılımı ailesidir.

VMware Workstation, VMware Fusion, VMware Player gibi çeşitli ürünleri vardır.

Profesyonel kullanıcılar ve kurumsal ortamlar için genellikle tercih edilir.

Gelişmiş özelliklere sahiptir, özellikle bulut ortamları ve sanallaştırılmış altyapılar için uygun çözümler sunar.

Ücretli ve ücretsiz sürümleri bulunmaktadır, ancak genellikle daha gelişmiş özellikler ücretli sürümlerde sunulmaktadır.

Bu sanallaştırma platformları yardımıyla kendi host makinanıza da rahatlıkla kurabilirsiniz.

Aynı amaca hizmet ederler, hangisini tercih edeceğinize sizin karar vermeniz gerekir 😊  

Task-4

Bu bölümde GUI (Graphical User Interface) olmayan terminal ortamından bahsediliyor.

“Terminal”, işletim sistemleriyle etkileşimde bulunmanın metin tabanlı bir yoludur. Bir komut satırı arayüzü olarak da adlandırılabilir. Başlangıçta, kullanıcılar için korkutucu görünebilir çünkü geleneksel bir grafik arayüz yerine sadece metin tabanlı komutları kullanır. Ancak, bir kez alıştığınızda, terminalin gücünü ve esnekliğini takdir edebilirsiniz.

Kullanıcıların dosya ve klasörleri yönetmelerine, sistem ayarlarını yapılandırmalarına, ağ bağlantılarını kontrol etmelerine ve bir dizi diğer görevi gerçekleştirmelerine olanak tanır.

Burada terminal üzerinde kullanılabilen birçok komut olmakla beraber, ilgili soruları yanıtlayabilmek için “echo” ve “whoami” komutlarından bahsediliyor.

Detaylı anlatımlı diğer komutlar, serinin diğer bölümlerinde anlatılıyor.

Burada “echo” komutu terminalde veya betik dosyalarında metin veya değişkenleri ekrana yazdırmak için kullanılır.

Bu komutun çok farklı kullanımları mevcut olmakla birlikte, basic kullanımını aşağıdaki çıktıda görmektesiniz.

Platform, ilerde çokça kullanacağımız “whoami” komutundan behsetmiş.

Whoami komutu işletim sisteminde mevcut oturum açmış kullanıcı bilgisini dönderir.

Yine aynı şekilde örnek kullanımı aşağıdaki gibidir.

                                                             Root kullanıcısına ait çıktı

                                                              Kali kullanıcısına ait çıktı  

Soruları yanıtlayalım:

Soru 1: If we wanted to output the text “TryHackMe”, what would our command be?

bu soruyu “echo” komutu kullanarak cevaplayabilirsiniz.

Cevap: “Echo Tryhackme”

Soru 2: What is the username of who you’re logged in as on your deployed Linux machine?

İlgili yazıda bahsettiği “whoami” komutunu kullanarak bu soruyu yanıtlayabilirsiniz.

Cevap : tryhackme

Task-5

Bu bölümde platform, linux dosya sisteminde gezinebileceğiniz birkaç komut hakkında bilgi vermekte.

Linux dosya sisteminde gezinmek, dosyaları bulmayı, düzenlemeyi ve organize etmeyi sağlar. Bu beceri, dosyalar arasında hızlı ve etkili bir şekilde hareket etmenizi ve Linux sistemlerini daha verimli bir şekilde kullanmanızı sağlar.

Ls komutu: Bir dizindeki dosya ve dizinleri listelemek için kullanılan bir Unix/Linux komutudur.

cd komutu: kullanıcının çalışma dizinini değiştirmek için kullanılan bir Unix/Linux komutudur. (Bu komutun farklı alt bileşenli kullanımları mevcuttur.)

cat komutu: Metin dosyalarının içeriğini görüntülemek veya yeni dosyalar oluşturmak için kullanılan bir Unix/Linux komutudur. (Dizinler için kullanımlaz)

Pwd komutu: kullanıcının bulunduğu çalışma dizinini yazdırmak için kullanılan bir Unix/Linux komutudur.

İlgili komutlar, linux dosya/dizin yapısında oldukça fazla kullanılan komutlardır.

(Platformdaki ilgili kısımları okumanızı tavsiye ederiz)

Soru 1: On the Linux machine that you deploy, how many folders are there?

Cevap : 4

Soru 2: Which directory contains a file? 

cd” komutu ilgili dizin içerisine girip “ls” komutu ile içeriğini görüntüleyebilirsiniz.

İleride anlatılacak “cd ..” komutu ile tekrar bir üste dizine geçebilirsiniz.

Baktığımızda “folder4” dizininde note.txt adında bir .txt olduğunu görüntüleyebiliyoruz.

Cevap: folder4

Soru 3: What is the contents of this file?

Bu soruda bir önceki soruda elde ettiğimiz “note.txt” nin içeriği soruluyor.

Bu bir metin dosyası olduğu için, içeriğini okuyabilmeniz için “cat” komutunu kullanmanız gerekir.

Cevap : Hello World!

Soru 4: Use the cd command to navigate to this file and find out the new current working directory. What is the path?

Bu soruda üstte cevaplanan sorularda kullanılan folder4’ün tam yolunu istiyor.

Bunun için de ilgili dizin içerisinde “pwd” komutunu çalıştırdığımızda istenen cevaba ulaşıyoruz.

Cevap: /home/tryhackme/folder4

Task-6

Bu bölümde linux için oldukça kullanışlı olan iki komuttan bahsediliyor. (find ve grep)

find” komutu, belirli dosya veya dizinleri bulmak için kullanılır. Özellikle karmaşık dosya yapılarında dosya aramak için kullanışlıdır. Kullanıcılar, dosyaları; isim, boyut, tarih ve izinler gibi çeşitli kriterlere göre aramak için “find” komutunu kullanabilirler.

grep” komutu, metin dosyalarında belirli bir metni aramak için kullanılır. Bir dosyadaki belirli metni bulmak veya bir komutun çıktısında belirli bir metni aramak için kullanılabilir.

Ayrıca, “grep” komutu düzenli ifadelerle de kullanılabilir, bu da arama esnekliğini artırır. Belirli bir metnin geçtiği dosyaları veya çıktıları kolayca bulmak için çok kullanışlıdır.

(İlgili komut kullanımlarını plaftorm üzerinden okumanız tavsiye edilir)

Soru 1: Use grep on “access.log” to find the flag that has a prefix of “THM”. What is the flag?

Cevap :  THM{ACCESS

Soru 2: And I still haven’t found what I’m looking for!

We will find it under any circumstances 😊 

Cevap : No Answer Needed

Task-7

Bu bölümde, terminal üzerinde yapacağınız işlemlerde kullanılabilecek bazı önemli operatörler anlatılmakta.

&” operatörü, bir komutun arka planda çalışmasını sağlayarak, kullanıcının başka işlemler yapabilmesini sağlayan bir Unix/Linux operatörüdür.

&&” operatörü, bir komutun yürütülmesinin ardından başka bir komutun yalnızca ilk komut başarılı olduğunda çalışmasını sağlayan bir bağlaçtır.

>” operatörü, bir komutun çıktısını başka bir dosyaya yönlendirerek, çıktıyı belirtilen dosyaya yazmak için kullanılan bir Unix/Linux operatörüdür. Bu operatör ile yaptığınız diğer bir eklemede eski içeriği silip yeni içeriği yazdırmaktadır.

>>” operatörü, bir komutun çıktısını başka bir dosyaya eklemek için kullanılan bir Unix/Linux operatörüdür. Bu operatör ile yaptığınız değişiklik, bir önceki verinin üzerine eklenmektedir.

(Platformdaki ilgili kısımları okumanızı tavsiye ederiz)

Soru 1: If we wanted to run a command in the background, what operator would we want to use?

Cevap: yukarıda da bahsedildiği gibi sorunun cevabı “&”

Soru 2: If I wanted to replace the contents of a file named “passwords” with the word “password123”, what would my command be?

Bu soruda “passwords” adındaki dosyanın içeriğini “password123” olarak güncelleyecek komut istenmekte.

Hint kısmında da verildiği gibi, bu gibi durumlarda kullanmanız gereken komut şu şekildedir.

Cevap: echo password123 > passwords

Soru 3: Now if I wanted to add “tryhackme” to this file named “passwords” but also keep “passwords123”, what would my command be?

Yapılan güncellemenin bu kez, data üzerine ekleme şeklinde ilerlemesi talep ediliyor. Bu nedenle bu soruda “>>” operatöründen faydalanılmalıdır.

Cevap: echo tryhackme >> passwords

 

Soru 4: No Answer Needed

 

Diğer bölümlerde cevap vermeniz beklenmiyor. 

Bu oda linux Fundamentals-1 odasıydı. Ve genel anlamda linuxun ne olduğunu ve ne için kullanıldığını anlatmayı amaçlayan bir oda. Linux’un derin dünyasına girmeden önce ilk basamak olarak fikir edinebileceğiniz bir çalışma alanı olmuş. Serinin diğer bölümlerinde daha detay anlatımlar mevcut. 

Bizler de “Bilişim Academy” ailesi olarak bu seri dahil birçok oda üzerinde sizlere walkthrough desteği sağlıyor olacağız… 

Bizi takip etmeyi unutmayın😊

Yorum bırakın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir