31 Aralık 2021 Cuma

__dir__() Komutu İle Class Özellerine Ulaşmak

Örneğin bilgisayar sınıfından türettiğiniz bir "bilgisayar2" isimli yen bir objeniz var. Bu objenizi kullanarak aşağıdaki gibi bir kullanımla obje üzerinden sınıf genelinde kullanabileceğiniz özelliklere ve bazı fonksiyonlara ulaşabilir ve bunların bir listesini yazdırıp inceleyebilirsiniz.

print(bilgisayar2.__dir__())

29 Aralık 2021 Çarşamba

Ubuntu Parola Yönetimi - pwquality

Parola yönetimi için yüklenmesi gereken paket

sudo apt install libpam-pwquality

Düzenlemek için:

sudo gedit /etc/security/pwquality.conf

27 Aralık 2021 Pazartesi

Linux Dersleri - Ubuntu - Kullanıcı oluşturma - Gruplar ve Visudo İşlemleri Giriş

woami - Ben kimim?

id - Sistemdeki ID değerim?

group - Hangi gruplara üyeyim?

sudo -l - Detaylı yetki kontrolü?

sudo -i - Doğrudan root hesabına geçmek için kullanılır.

exit - sudo hesabından normal kullanıcıya dönülür

sudo useradd hakan - Hakan isminde yeni bir kullanıcı oluşturulur.

sudo passwd hakan - Hakan kullanıcısına yeni bir şifre atanır.

su hakan - hakan kullanıcısına geçiş yapılır

sudo i - Hakan hesabı sudo grubuna üye olmadığı için sudo hesabına geçilemez ve uyarı alınır.

cat /etc/passwd - Kullanıcıların isimleri, ID ve yetkilendirmeleri gibi bilgiler yer alır.

cat /etc/shadow - Buraya normal kullanıcı erişemez. Burada kullanıcı hesaplarının şifre bilgileri tutulur.

sudo usermod -aG sudo hakan - Hakan kullanıcısını sudo grubuna alıyoruz.

Normalde daha önce hakan kullanıcısıyla erişemediğimiz cat /etc/shadow dosyasına gidebiliyor olmamız gerekiyor ancak burada sudo grubuna eklememize rağmen ben yetkilendirme hatası alıyorum.

sudo cat /etc/sudoers - Sudo yetkisini kim nasıl kullanıyor görebildiğimiz yer.

sudo visudo - Sudoers içeriğini düzenlemek için visudo programını kullanıyoruz.

Visudo arayüzünden geriye çıkmak için CTRL-X kombinasyonunu kullanıyoruz.

sudo useradd lila -m -d /home/lila - Yeni bir kullanıcı oluşturduk ve ona bir ev dizini ekledik.

sudo passwd lila

sudo -i - Burada yine hata alırız (Sudoers dosyası içerisinde olmadığımız için)

exit

sudo visudo

lila    ALL=(ALL)    ALL - lila kullanıcısına tüm yetkiler verildi.

Visudo burada kaydedilip çıkıldıktan sonra su lila ile tekrar lila hesabına geçiyoruz ve daha önce yapamadığımız sudo -i komutunu çalıştırıyoruz. Lila şifresini yazarak buradan root hesabına geçiş gerçekleştirmiş oluyoruz.

sudo visudo ile aşağıdaki düzenlemeyi yaptık:

lila    ALL=(ALL)    /bin/systemctl status networking

lila    ALL=(ALL)    /sbin/fdisk

-

su lila

sudo -l ile yetkiler kontrol edildiğinde visudo ile verdiğimiz bilgiler listelenir.

cd /usr/lib/systemd/ - Servislerin olduğu dizin

Shell Escape ve Hak Yükseltme

 Bir kullanıcıya sh. dosyası için yetki verilirse ve bu dosya için yazma ve değişiklik yapma gibi haklara sahip olursa editörün içerisine yazdığı sudo -i komutu ile mevcut oturumunu root olarak güncelleyebilir.

Örneğin bu komutu bir nano editörü ile açıp tellme.sh olarak kaydedelim.

#!/bin/bash

echo "merhaba"

sudo -i

Ardından bu dosya normal bir kullanıcıdayken sudo ./tellme.sh olarak çalıştırılırsa konsola "merhaba" yazılır ancak kullanıcı hesabı da "root" olarak yükseltilmiş olur.

Diğer bir örnekte de bir kullanıcıya /etc/ssh/ssh_config dosyasını düzenleme yetkisi veriliyor: Ancak burada da yukarıdaki örneğe benzer bir durum var. ssh_config dosyası çalıştırıldığında ve ekrana !bash komutu girildiğinde yine burada da shell escape denilen olay gerçekleşir ve root hesabına geçiş yapılır.

Unit networking.service could not be found - Çözümü

 Bu sorunu çözebilmek için aşağıdaki işlemleri yaptım.

systemctl list-unit-files | grep -i network

systemctl restart NetworkManager

systemctl status NetworkManager

23 Aralık 2021 Perşembe

İki Hipervizör Arasında İletişim Kurmak - VirtualBox ve Hyper-V

 Bilgisayarımda Hyper-V üzerinde Windows Server 2022 ve VirtualBox üzerinde de Windows 11 kurulu. Bu iki hipervizör arasında iletişim kurmak için bir hayli uğraştım ve sonunda başarabildim. 

Öncelikle sunucu üzerinde DHCP kurulumu yaptım, bununla ilgili bir konfigürasyon vs. herhangi bir işlem yapmadım biraz deneme yanılmaydı. Neyse sonraki adımlarda hipervizörler üzerinde network kartı bilgileriyle biraz oynadım. Şöyle ki son olarak VM VirtualBox tarafında "biridge" ve Hyper-V tarafında da "external" olmak üzere network kartlarını yapılandırdım. Sonra aynı IP bloğunda yer aldıkları için client üzerindeki DNS bilgisini sunucu IP adresiyle değiştirdim. Ve nihayet bilgisayarı domaine ekleyerek yeniden başlattım ve client üzerinde domainde yer alan bir kullanıcı bilgisiyle oturum açabildim. Bunu yapabilmek için biraz uğraştım ancak buna değdi. :)



20 Aralık 2021 Pazartesi

2022 Server Üzerine Active Directory Kurulumu Yaptım ve Kendi Domainimi Kurdum

Microsoft 2022 ServerHyper-V üzerinde daha önceden kurmuştum. Şimdi biraz daha sunucu üzerindeki servisleri ve benzeri hizmetleri öğrenmeye çalışıyorum. Bunun için öncelikle Active Directory servisini sunucu üzerine kurdum ve sunucu için yerelde bir domain oluşturdum. Domainimin ismi MSI.local, bu aslında kullandığım monitör MSI marka diye öyle. Aklıma o an başka bir şey gelmedi. :) Neyse sonrasında birkaç şey daha öğrendim, ekran görüntülerinde görebilirsiniz. Directory Administrative Center üzerinden geri dönüşüm kutusunu aktif ettim. Bu normalde kapalı olarak geliyor. AD üzerinde yapılan işlemlerin geri kurtarılabilmesi için sanırım önemli bir özellik. Yapı üzerinde yanlışlıkla bir bilgisayar, kullanıcı vs. silinirse bunu geriye döndürebilmek iyi olur diye düşündüm.










14 Aralık 2021 Salı

13 Aralık 2021 Pazartesi

For Döngüsü - Şu Kadarcık Bir Kod Yazmanın Mutluluğu

 sayilar = [1,3,5,7,9,12,15,19,21]

toplam=0
for sayi in sayilar:
     toplam=toplam+sayi
print(toplam)

12 Aralık 2021 Pazar

3 Aralık 2021 Cuma

GitHub İle Gerçekçi Bir Tanışma

 Kodlar artık GitHub'da. Şu platformu biz de kullanalım. Bu arada masaüstü uygulaması var gerçekten harika ve çok kullanışlı.