03 Nisan 2022 • 15 dakikalık okuma
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.
sudo ls /root
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.
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
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ıya yetki verilecek ise;
whoami
komutu ile kullanıcı adı öğrenilebilir.
Farklı bir kullanıcıya yetki verilecek ise sistemdeki tüm kullanıcılar listelenerek görülebilir;
compgen -u
ya da
cat /etc/passwd
komutu ile kullanıcı adı öğrenilebilir.
Root ya da root yetkisine sahip kullanıcı ile terminal açılır;
sudo usermod -aG sudo melihsafran
Yazılan kullanıcı hesabını sudo grubuna ekleyip sudo yetkisi verir.
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.
Root ya da root yetkisine sahip kullanıcı ile terminal açılır;
sudo usermod -aG wheel melihsafran
Yazılan kullanıcı hesabını wheel grubuna ekleyip sudo yetkisi verir.
Kullanıcının root grubuna eklenip eklenmediği kontrol etmek için groups komutundan sonra kullanıcı adı yazılır;
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.
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;
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.