Örneklerle Linux’ta Sudo Komutu Nasıl Kullanılır

 

Merhabalar,

 

Sudo komutu, programları varsayılan olarak root kullanıcı olarak  çalıştırmanıza izin verir. Komut satırında çok zaman harcıyorsanız, sudo oldukça sık kullanacağınız komutlardan biridir.

 

Root olarak oturum açmak yerine sudo kullanmak daha güvenlidir çünkü bireysel kullanıcılara, root parolasını bilmeden sınırlı yönetici ayrıcalıkları verebilirsiniz. Bu eğitim yazımızda sudo komutunun nasıl kullanılacağını anlatacağız.

sudo paketi çoğu Linux dağıtımında önceden yüklenmiştir.

Sudo paketinin sisteminizde kurulu olup olmadığını kontrol etmek için konsolunuzu açın, sudo yazın ve Enter’a basın. Sistemi sudo yüklediyseniz, kısa bir yardım mesajı görüntülenecektir. Aksi takdirde, sudo komutu bulunamadı gibi bir şey göreceksiniz.

 

Sudo kurulu değilse, dağıtımınızın paket yöneticisini kullanarak kolayca kurabilirsiniz.

 

Sudo’yu Ubuntu ve Debian’a yükleyelim

apt install sudo

 

Sudo’yu CentOS ve Fedora’ya yükleyin

yum install sudo

 

Varsayılan olarak, çoğu Linux dağıtımında sudo erişimi vermek, kullanıcıyı sudoers (/etc/sudoers) dosyasında tanımlanan sudo grubuna eklemek kadar basittir. Bu grubun üyeleri herhangi bir komutu root olarak çalıştırabilecektir. Grubun adı dağıtımdan dağıtıma farklılık gösterebilir.

 

CentOS ve Fedora gibi RedHat tabanlı dağıtımlarda sudo grubunun adı wheel dir.Ubuntu üzerinde sudo olarak isimlendirilir.

Kullanıcıyı gruba eklemek için aşağıdak komutu çalıştıralım.

usermod -aG wheel username

Debian, Ubuntu ve türevlerinde, sudo grubunun üyelerine sudo erişimi verilir:

usermod -aG sudo username

 

Ubuntu’daki root kullanıcı hesabı, güvenlik nedenleriyle varsayılan olarak devre dışı bırakılmıştır ve kullanıcıların sudo kullanarak sistem yönetim görevlerini gerçekleştirmeleri önerilir. Ubuntu installer,  tarafından oluşturulan ilk kullanıcı zaten sudo grubunun bir üyesidir, bu nedenle Ubuntu kullanıyorsanız, oturum açtığınız kullanıcıya zaten sudo ayrıcalıkları verilmiştir.

 

Belirli bir kullanıcının yalnızca belirli programları sudo olarak çalıştırmasına izin vermek için, kullanıcıyı sudo grubuna eklemek yerine, kullanıcıları sudoers dosyasına ekleyin.

 

Örneğin, teknik kullanıcısının yalnızca sudo olarak mkdir komutunu çalıştırmasına izin vermek için aşağıdaki komutu yazalım.

sudo vi /etc/sudoers 

yada

sudo visudo

açılan dosyaya aşağıdaki satırı ekleyelim.

teknik  ALL=/bin/mkdir

Çoğu sistemde, visudo komutu /etc/sudoers dosyasını vim metin düzenleyicisiyle açar.

 

Ayrıca, kullanıcıların parola girmeden sudo komutlarını çalıştırmasına da izin verebilirsiniz.

teknik ALL=(ALL) NOPASSWD: ALL

 

Sudo Nasıl Kullanılır:

sudo komutunun sözdizimi aşağıdaki gibidir.

sudo SEÇENEKLER COMMAND

Sudo komutunun davranışını kontrol eden birçok seçeneği vardır, ancak genellikle herhangi bir seçenek olmaksızın en temel biçiminde kullanılır.

Sudo’yu kullanmak için, komutun önüne sudo eklemeniz yeterlidir.

sudo komut

Komut yazan kısma hangi komutu çalıştırmak istiyorsanız o komut gelmelidir.

 

Sudo, /etc/sudoers dosyasını okuyacak ve çağıran kullanıcıya sudo değerlendirmesi verilip verilmediğini kontrol edecektir. Sudo’yu bir oturumda ilk kez kullandığınızda, kullanıcı şifresini girmeniz istenecek ve komut root olarak yürütülecektir.

Örneğin, /root dizinindeki tüm dosyaları listelemek için şunu kullanırsınız:

sudo ls /root

 

Şifre Zaman Aşımı:

Varsayılan olarak, sudo, beş dakikalık sudo hareketsizliğinden sonra şifrenizi tekrar girmenizi isteyecektir. sudoers dosyasını düzenleyerek varsayılan zaman aşımını değiştirebilirsiniz. Dosyayı visudo ile açalım.

Aşağıdaki satırı ekleyerek varsayılan zaman aşımını ayarlayalım burada 10 değerini girdim.Girdiğim değer dakika cinsinden belirtilen zaman değeridir.

Defaults timestamp_timeout=10

 

Yalnızca belirli bir kullanıcı için timeout(zaman aşımı) değerini değiştirmek istiyorsanız, aşağıdaki satırı ekleyin, burada kullanıcı-adı söz konusu kullanıcıdır.

Defaults:kullanıcı-adı timestamp_timeout=10

Root Dışında Kullanıcı Olarak Bir Komut Çalıştırın.

Sudo’nun yalnızca mevcutta oturum açmış bir kullanıcıya root izinleri sağlamak için kullanıldığına dair yanlış bir algı var. Aslında, herhangi bir kullanıcı olarak bir komutu çalıştırmak için sudo kullanabilirsiniz.

u seçeneği, belirli bir kullanıcı olarak bir komutu çalıştırmanıza izin verir.

Aşağıdaki örnekte, whoami komutunu “efran” kullanıcısı olarak çalıştırmak için sudo kullanıyoruz.

sudo -u efran whoami

 

whoami komutu, komutu çalıştıran kullanıcının adını yazdıracaktır.

 

 

Sudo ile Yönlendirme Nasıl Yapılır?

Bir komutun çıktısını, kullanıcınızın yazma izni olmayan bir dosyaya yönlendirmeye çalışırsanız, “İzin reddedildi” hatası alırsınız.

sudo echo "merhaba" > /root/merhaba.txt

Bunun nedeni, çıktının “>” yönlendirmesinin sudo ile belirtilen kullanıcı değil, oturum açtığınız kullanıcı altında gerçekleştirilmesidir. Yönlendirme, sudo komutu çağrılmadan önce gerçekleşir.

Çözümlerden biri, sudo sh -c kullanarak root olarak yeni bir shell çağırmaktır.

sudo sh -c 'echo "merhaba" > /root/merhaba.txt'

 

Başka bir seçenek de çıktıyı aşağıda gösterildiği gibi normal bir kullanıcı olarak tee komutuna yönlendirmektir.

echo "merhaba" | sudo tee /root/merhaba.txt

 

 

sudo komutunun nasıl kullanılacağını ve sudo ayrıcalıklarına sahip yeni kullanıcıların nasıl oluşturulacağını sizlere kısaca anlatamaya çalıştım.

 

Umarım bu eğitim sizler için faydalı olur.

 

 

 

 

 

 

Bu eğiticiye oy ver
[Total: 2 Average: 4.5]
Firat CANOĞLU TAĞ