Linux işletim sisteminde ve shell uygulamasında komutlar en az yetki ile çalıştırılır. Bu nedenle kullanıcılar istenilen her dizinde işlem yapamaz. Kullanıcıların sadece /home/ dizini içinde kendi kullanıcı adı dizininin altındaki dizinlerde yetkileri bulunur. Bu dizin dışındaki dizinlerde dosya, dizin oluşturamaz, değiştiremez ve silemezler. Yetkisiz bir işlem yapıldığında shell Erişim engellendi uyarısı verir. Erişimin olmadığı dizinlerde işlem yapmak için yönetici (root) yetkisine sahip olmak gereklidir.

Örneğin; /root dizini altındaki dosyalar görülmek istendiğinde;

ls: cannot open directory '/root': Permission denied

ls: dizin '/root' açılamadı: Erişim engellendi uyarısı verir.

Kod

sudo ls /root

Yetkisiz kullanıcı ile ls /root komutu uyarısı
Resim 1. Yetkisiz kullanıcı ile ls /root komutu uyarısı

Super User Do

Kullanıcıların yetkili olarak işlem yapabilmeleri için sudo komutu kulllanılır. Super User Do sudo komutunun açılımıdır.

Root yetkisi ile işlem yapmak için shell ekranından istenilen komutun öncesinde sudo yazılarak yönetici yetkisi ile işlem yapılabilir fakat sudo komutu ile işlem yapabilmek için, sudo komutunu çalıştıran kullanıcının sistemde sudoers dosyasına ya da yönetici grubuna, root veya root yetkili kullanıcı tarafından eklenip sudo ile komut çalıştırmaya izin vermesi gerekir.

Önemli

Sudoers dosyasında olmayan ya da yetkili yönetici grubuna eklenmemiş kullanıcılar sudo komutu ile işlem yapmak isterler ise işlem yapılmaz ve uyarı mesajı alırlar.

Kullanıcı sudoers dosyası içinde değil. Bu olay rapor edilecek.

User is not in the sudoers file. This incident will be reported

Yetkisiz kullanıcı ile sudo ls /root komutu uyarısı
Resim 2. Yetkisiz kullanıcı ile sudo ls /root komutu uyarısı

Kullanıcıya Sudo Yetkisi Verme

Kullanıcılara root yetkisi vermek için yetkili kullanıcı grubuna eklenmelidir. Bunun için terminal ekranında aşağıdaki komutlar çalıştırılır.

Mevcut Kullanıcı Adını Öğrenme

Mevcut kullanıcıya yetki verilecek ise;

Kod

whoami

komutu ile kullanıcı adı öğrenilebilir.

whoami komutu
Resim 3. whoami komutu

Sistemdeki Kullanıcı Adlarını Listeme

Farklı bir kullanıcıya yetki verilecek ise sistemdeki tüm kullanıcılar listelenerek görülebilir;

Kod

compgen -u

ya da

Kod

cat /etc/passwd

komutu ile kullanıcı adı öğrenilebilir.

Debian/Ubuntu dağıtımları için sudo yetkilendirmesi;

Root ya da root yetkisine sahip kullanıcı ile terminal açılır;

Kod

sudo usermod -aG sudo melihsafran

Yazılan kullanıcı hesabını sudo grubuna ekleyip sudo yetkisi verir.

Önemli

Root yetkisi olan kullanıcıya geçiş yapıldığında terminal göstergesi # karakteri olarak gösterilir.

Root yetkisi harici terminal göstergesi $ karakteridir.

usermod -aG komutu
Resim 4. usermod -aG komutu

RedHat/CentOS dağıtımları için sudo yetkilendirmesi;

Root ya da root yetkisine sahip kullanıcı ile terminal açılır;

Kod

sudo usermod -aG wheel melihsafran

Yazılan kullanıcı hesabını wheel grubuna ekleyip sudo yetkisi verir.

Sudo Yetkisinin Olup Olmadığını Kontrol Etme

Kullanıcının root grubuna eklenip eklenmediği kontrol etmek için groups komutundan sonra kullanıcı adı yazılır;

Kod

groups melihsafran

Yazılan kullanıcının eklendiği grupları gösterir. Eklenen yönetici grubu adı yazıyor ise kullanıcı gruba eklenmiştir.

groups komutu
Resim 5. groups komutu

Sudo İle Komut Çalıştırma

Kullanıcının root grubuna eklenip eklenmediği kontrol etmek için; su komutu ile eklenen kullanıcıya geçiş yapılır ve sudo ile erişim engellendi uyarısı alınan komut çalıştırılır ve kullanıcı şifresi girilir;

Kod

su - melihsafran

sudo ls /root

Erişim engellendi hatası alınmıyor ise yazılan kullanıcı gruba eklenmiş sudo yetkisi ile komut çalıştırılmıştır.

sudo ls /root komutu
Resim 6. sudo ls /root komutu

Kaynaklar

  1. How to Create Users in Linux , linuxize.com, 02.04.2022 tarihinde alındı.
  2. How To Add User To Sudoers & Add User To Sudo Group on Ubuntu , phoenixnap.com, 02.04.2022 tarihinde alındı.

 


Beğen