Ubuntu etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
Ubuntu etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

27 Ağustos 2023 Pazar

HomeBrew Path Hatası Çözümü ve Macbook'a Ubuntu Kurmanın En Kolay Yolu

Ubuntu için multipass ve paket yönetimi içinde bilgisayarıma homebrew kurmaya çalışırken path hatasıyla karşılaştım. Bu hata aslında homebrew'in kurulduğunu ancak PATH ayarlarının yapılmadığını söylüyordu. Aldığım hatanın tam olarak metni ve ekran görüntüsü aşağıdaki gibi:


Warning: /opt/homebrew/bin is not in your PATH.
Instructions on how to configure your shell for Homebrew can be found in the 'Next steps' section below. ==> Installation successful!

Dolayısı ile macbook terminal üzerinde brew --version komutunu çalıştırdığımda yanıt alamıyordum. PATH ayarlarının yapılandırılması gerekiyordu.

Homebrew'i ilk kurarken kullandığım komutu unutmadan buraya ekleyeyim, zaten kendi web sitelerinde var ama blogda da dursun fena olmaz arkadaşlar.

$/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

PATH ayarlarını yapmak için kullandığım adımlar sırasıyla aşağıdaki gibidir:


İlk olarak zshrc dosyası oluşturulur, terminali kullanarak bu adımlara devam ediyoruz:
$touch ~/.zshrc

Ardından dosyayı düzenlemek için code veya bir metin editörüyle içerisine giriyoruz, ben nano kullanarak yapmayı tercih ettim:
$nano ~/.zshrc

Ardından içerisine aşağıdaki bilgileri ekleyip kaydederek çıkıyoruz, macte kaydetmek için Control+X ve YES kombinasyonunu kullanmanız gerekiyor:
$export PATH="/opt/homebrew/bin:$PATH"

son olarak yaptığımız değişiklikleri yüklemek için bu komutu çalıştırıyoruz:
$source ~/.zshrc

Artık path işlemi gerçekleşmiş olmalı ve terminale aşağıdaki komutu girerek homebrew yüklü sürümümüzü gözlemleyebilir ve bash komutlarını direkt terminalde kullanabiliriz:
$brew --version







Artık terminale bash komutu yazıp enter yaptıktan sonra kabuk arayüzüne geçerek diğer kurulumlarıma geçebilirim. Bu aşamadan önce multipass uygulamasını da ubuntu sitesinden indirip kurdum ve devamında bash üzerinde çalıştırdığım diğer komutları aşağıda listeliyorum:

$brew install qemu
$multipass help

Bu ekran lazım olabilir dursun burada:



$multipass version
$multipass launch -c 2 -m 2GB -d 30GB









Müthiş, harika bir kolaylık. Tek bir komutla ubuntu makinesi açıyorsunuz resmen. Virtualbox'la vs. dakikalarca uğraşmanıza gerek yok. Tek bir komut ve ubuntu elimin altında. Artık bundan sonrası RDP ile veya SSH ile veya canımız nasıl istiyorsa bağlanıp istediğimiz gibi ubuntuyu kullanmak kalıyor geriye.

Bu arada cihazlardan birini silmeyi denedim, bu komutu kullandım:
$multipass delete primary
Silme işleminin kalıcı olarak gerçekleşmesi için ek olarak buradaki komut çalıştırılır:
$multipass purge

instance ile ilgili bilgi almak için:
$multipass info unruffled-ghoul

Ve artık $multipass shell unruffled-ghoul komutunu yazarak kabuk üzerinden direkt ubuntunun shell ekranına salileser içerisinde geçiş yapabiliyoruz, hıza bakın bu inanılmaz bir şey değil mi?



$cat /etc/lsb-release
$sudo apt update
$sudo apt install neofetch
$neofetch

Eğer masaüstü ubuntu deneyimine geçmek istersek bu komut ile desktop özelliğini aktifleştirebiliyoruz, yani yükleme yapabiliyoruz.

$sudo apt install ubuntu-desktop xrdp 
$sudo passwd ubuntu
$ip a

Geriye ssh ile veya direkt multipass uygulaması kısayolu üzerinden shell linki ile tek tıklamayla sunucuya erişmeye veya RDP yaparak cihaza erişmeye kalıyor. Hepsi bu kadar.

3 Aralık 2022 Cumartesi

Çözümü resolv.conf Dosyasında Bulduk!

 Kurduğum Ubuntu sunucuları internete çıkmıyordu. sudo nano /etc/resolve.conf komutu ile DNS kayıtlarını kontrol ettim ve yeni bir nameserver kaydı ekleyerek karşılığına 8.8.8.8 verdim ve Ctrl+x ve Y ile yani nanoyu kaydederek çıkış yaptım. Sonuç: yeni kurduğum sunucu internete çıkabildi.

2 Ocak 2022 Pazar

Ubuntu'da Yeni Kullanıcıları İlk Oturum Açma İşleminde Şifre Değişimine Zorlama

 sudo passwd -e kullanici komutundan sonraki ilk oturum açma işleminde kullanıcı kendisine özel şifre belirlemeye zorlanır.

sudo usermod kullanici -e 2023-01-01 komutu ile kullanıcı hesabının ne zaman devre dışı bırakılacağı belirlenir.

1 Ocak 2022 Cumartesi

Umask İle Kullanıcı Yetkilerini Sınırlandırmak

Yeni bir kullanıcı oluşturulduğunda diğer kullanıcıların erişimine kapalı olarak gelmesini sağlamak için etc dizini altındaki login.defs dosyası içerisinde bulunan UMASK değeri 077 olarak güncellenir ve dosya kaydedilir.

Bunun için:

sudo nano /etc/login.defs

Ubuntu


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