GNU/Linux Dağıtımlarında Root Kavramı Üzerine

Linux ve Unix tabanli isletim sistemlerini hep beraber tanıyıp öğreneceğiz.
Cevapla
Kullanıcı avatarı
TRWE_2012
Zettabyte1
Zettabyte1
Mesajlar: 15148
Kayıt: 25 Eyl 2013, 13:38
cinsiyet: Erkek
Teşekkür etti: 2505 kez
Teşekkür edildi: 5301 kez

GNU/Linux Dağıtımlarında Root Kavramı Üzerine

Mesaj gönderen TRWE_2012 »

Resim

Bir Linux sisteminin tüm kaynaklarını yönetmeye yetkili kişiye ise Linux sistem yöneticisi (system administrator) denir. Bu yazımızda Linux sistem yönetimi (system administration) kavramını ele alarak root yetkisi ve kullanımından bahsedilecektir.

Bir Linux sistemini tek başınıza kullansanız bile, sistem yönetimini bilgisayar kullanımından ayrı ele almalısınız. Çoğu yönetimsel işlemleri yapmak ya da sistem için kritik uygulamaları kurup çalıştırmak için, root oturumu açmanız ya da geçici olarak root yetkisi (genellikle sudo komutunu kullanarak) edinmeniz gerekir. Root iznine sahip olmayan normal kullanıcılar bir Linux sistemi için bazı yapılandırma ayarlarını değiştiremez hatta bazı durumlarda göremez bile. Özellikle, kayıtlı şifreler gibi güvenlik ayarları genel kullanıcılardan uzak tutulmaktadır.

Sistem yöneticisinin rolünü diğer kullanıcıların rollerinden ayırmak, bir sistemi daha güvenli tutmaya olanak tanır. Aynı zamanda, genel kullanıcıların internette gezinirken edindikleri ya da bir uygulama kurarken ortaya çıkaracakları zararlı etkilerin sistemi etkilemesini engeller.

Root olma(Ubuntu forum türkiye'nin en çok korktuğu olay)

Bir Linux sistem yöneticisi, genellikle normal bir kullanıcı olarak oturum açtıktan sonra sadece ihtiyaç duyulduğunda yönetici ayrıcalıklarını kullanılmalıdır. Sistem yöneticisinin sitemi etkilemeyen işlemler için bile root yetkisini kullanması kazara sisteme zarar verebilecek sonuçlara neden olabilir.

Normal bir kullanıcı oturumunda iken root yetkisi (superuser) aşağıdaki yöntemlerle edinilebilir;

su komutu

root kullanıcısı olarak bir kabukta (shell) oturum açmak için kullanılır. Komut sonrası root parolası girilmelidir. Normal kullanıcılar için komut satırında görünen “$” simgesi “#” simgesine dönüşür. “#” simgesi ile birlikte verilen tüm komutlar root yetkisi ile verilmiş olur. Tekrar normal kullanıcı kabuğuna dönmek için çıkış yapmak gerekir (exit komutu)

Resim

sudo komutu:

sudo ile normal bir kullanıcıya root yetkileri verilir. Ancak bu kullanıcı yalnızca bir komutu çalıştırmak için sudo komutunu kullanabilir. İstediği komutu sudo ile çalıştırdıktan sonra kullanıcı normal kabuğa geri döner (yani “$” simgesinde kalır, “#” simgesiyle işlem yapmaz”) ve normal kullanıcı olarak davranmaya devam eder. Ubuntu tabanlı dağıtımlarda genelde varsayılan olarak bir sistemdeki ilk kullanıcı hesabına sudo ayrıcalığı verilir. Fedora veya Red Hat ise varsayılan olarak bu ayrıcalığı vermez, kurulum esnasında bu ayrıcalığın seçilmesi gerekir.

sudo ve su arasındaki fark aşağıda gösterilmiştir.

Resim

Root Kullanıcısının Görevleri

Yalnızca root kullanıcısı tarafından yapılabilecek görevler, sistemi bir bütün olarak veya sistemin güvenliğini etkileyen işlemlerdir. Bir sistem yöneticisinin yönetmesi beklenen bu işlemleri şöyle sıralayabiliriz;

Dosya sistemi: Linux dosya sistemi sistem kurulumunda kullanıcılar için otomatik olarak hazır hale getirilir. Ancak, kullanıcıların ekstra depolama alanı ihtiyacı ya da kendi HOME dizini haricindeki klasör değişiklikleri için yönetici haklarına gereksinim duyarlar. root kullanıcısı sistemdeki tüm klasörlere erişebilir (diğer kullanıcılara ait olanlara bile). İhtiyaç duyulan değişiklikleri yapar. Gerektiğinde güvenliği sağlamak için tüm dosya sisteminin yedeğini bile alır.

Yazılım yükleme: Zararlı yazılımların sisteme yüklenmesi sisteme ciddi zararlar verebileceğinden yazılım yüklemek için root yetkisine sahip olunması gerekir. Sistemi etkileyen bir özelliği yoksa yazılımları sistemdeki tüm kullanıcılar kullanılabilir. Genel kullanıcılar kendi dizinlerine bazı yazılımlar yükleyebilir ve sistem yazılımları hakkındaki bilgileri listeleyebilirler.
Kullanıcı hesapları: Yalnızca root kullanıcısı diğer kullanıcı hesaplarını ve grupları ekleyip kaldırabilir.

Ağ arabirimleri: Ağ arabirimlerini yapılandırma, bu arabirimleri başlatma ve durdurma işlemleri root kullanıcısı tarafından yapılır. Ancak günümüzde (mobilitenin artışıyla birlikte) pek çok dağıtım özellikle wi-fi ağının başlatılması ve durdurulması gibi işlemler için genel kullanıcılara da izin vermektedir. Bunun dışındaki optimizasyonlar için root yetkisine ihtiyaç duyulur.

Sunucular: Web sunucuları, dosya sunucuları, alan adı sunucuları, posta sunucuları ve daha birçok sunucuyu yapılandırmak, bu hizmetleri başlatıp durdurmak gibi işlemler root ayrıcalıkları gerektirir.

Güvenlik özellikleri: Güvenlik duvarları ve kullanıcı erişim listeleri gibi güvenlik özelliklerini ayarlama işlemleri genellikle root yetkisi ile yapılır. Ayrıca, hizmetlerin nasıl kullanıldığını izlemek ve sunucu kaynaklarının tükenmediğinden veya kötüye kullanılmadığından emin olma işi de root kullanıcısı tarafından yapılmalıdır.

Root Kullanıcı Hesabını Kullanma

Her Linux sisteminde en az bir yönetici hesabı (root hesabı) bulunur. Bunun dışında yönetici ayrıcalıkları atanmış bir veya birden çok normal kullanıcı (yani bir sisteme giriş adı -login name- olan) da bulunabilir. Bu yönetici ayrıcalıkları verilen kullanıcılar ise çoğu durumda Linux sistem yönetimi için root yetkilerini yukarıda anlattığımız şekillerde kullanır.

root kullanıcısı Linux sisteminin kontrolüne tamamen sahiptir. Bu kullanıcı tüm dosya ve sistem kaynaklarına erişebildiği gibi tüm uygulamaları çalıştırmaya da yetkilidir. Microsoft Windows sistemlerindeki “Administrator” kullanıcısı gibi düşünülebilir.

Çoğu Linux sistemi kurulurken (bazı sistemler hariç) bir root kullanıcı parolası atanması istenir. Bu parola hiçbir şekilde unutulmamalı ve korunmalıdır.

root kullanıcısı için tanımlanan home dizini diğer kullanıcılardan farklı olarak /root klasörüdür. Diğer kullanıcılara benzer olarak ise root kullanıcısına ait bazı bilgiler de /etc/passwd ve /etc/shadow dosyasında saklanır.

root yetkisi kullanarak komut satırında işlem yaparken (sudo ya da su komutu ile) dikkatli olunması gerekir. Zira yetkinin büyük olması sisteme daha büyük zararlar verilmesine neden olabilir. Bu nedenle yönetimsel bir işlem sonrası exit komutu ile root oturumunu terk etmek faydalı olabilir.

Ubuntu dağıtımlarında varsayılan olarak root kullanıcı hesabı ile ilişkilendirilen bir root parolası yoktur. Yani su komutunu vererek kalıcı bir şekilde root olamazsınız. Ancak yönetimsel işlemlerde sudo komutu kullanarak root yetkilerinizi kullanabilirsiniz. Ubuntu tarafından böyle bir güvenlik önlemi uygulanmaktadır.

Ancak bu kısıtlama ortadan kaldırılabilir.Yapmanız gereken aşağıda özetlenmiştir.

Resim

su komutu

su komutu ile bir terminal emülatörü (öykünücü) ya da sanal konsolda nasıl root olunacağını yukarıda anlatmıştık. Normal kullanıcıyı ifade eden “$” simgesi, su komutu ve parola sonrası “#” simgesine dönüşür ve tüm yetkilere sahip kullanıcı ortaya çıkar.

Bununla birlikte, su komutu bu şekilde yalnız kullanıldığında, su komutunu veren kullanıcının ortamında oturum açılır, root kullanıcısın çevresel ortamında değil.

Aşağıdaki örnekte su komutu sonrasında pwd komutu verilerek hangi dizinde olduğumuz sorgulandığında direk taylan kullanıcısına ait HOME dizininde kabuk oturumu açıldığı görülmektedir. Böyle durumlarda var olduğunu bildiğiniz bir komut çalıştırdığınızda “komut bulunamadı” benzeri bir hata alma ihtimaliniz doğabilir.

Resim

su komutundan sonra gelen “tire” (-) seçeneğinden sonra bir başka kullanıcı adı yazıldığında, oturum o kullanıcı hesabına geçer.

Resim

sudo ile yönetimsel erişim

sudo komutu kullanılarak her bir komut için bir defaya mahsus yönetim yetkisi ile program ya da hizmet başlatılabileceğinden yukarıda bahsetmiştik.

Bir öykünücüde sudo komutu ile işlem yapıldığında, varsayılan olarak aynı terminal ekranında 5 dakika boyunca sudo komutuyla birlikte verilen komutlar için şifre istenmez. Bu süre aşağıda detayını vereceğimiz /etc/sudoers dosyasında “passwd_timeout” değeri ile ayarlanabilir.

Bazı kullanıcılara, kullanacakları belirli program ve komutlar için root şifresi verilmeden yönetim ayrıcalığı tanınabilir. “sudoers” olanağı (sudoers facility) olarak tanımlayabileceğimiz bu özellik bu işlemi yapmanın en yaygın yöntemidir. Bu ayrıcalıkla şu işlemler yapılabilir;

1.Sudo komutunu kullanarak belirli komutları çalıştırma
2.Belirli komut setlerini çalıştırırken root ayrıcalığı verme
3.Root parolasını vermeden, kullanıcıların kendi parolalarını kullanarak ayrıcalıklı işlemler yapmalarını sağlama
3.Kullanıcıların şifre girmeden sudo komutunu kullanmalarını sağlama
4.Hangi kullanıcıların sistemde yönetim komutlarını çalıştırdıklarını takip etme (günlük kaydı)

Sudoers olanağı ile verilebilecek bu tam ya da sınırlı yetkiler /etc/sudoers dosyasında saklanır.

etc/sudoers dosyası

Dosya içeriği

Resim

Bizim sistemimizdeki salih adlı kullanıcıya /etc/sudoers dosyası üzerinden bazı yetkiler tanımlanması:

Kod: Tümünü seç

linuxmaster ALL=(ALL) ALL
satır ile linuxmaster adlı kullanıcı tüm root ayrıcalıklarına sahip olmuş olur. Bu ayrıcalıkları kullanırken kendi şifresini kullanır, root şifresini girmek zorunda kalmaz.

Eğer kullanıcının şifre girmesini de istemiyorsak;

Kod: Tümünü seç

 linuxmaster ALL=(ALL) NOPASSWD: ALL
satırını sudoers dosyasına ekleyiniz.

/etc/sudoers dosyası, bireysel kullanıcıların ve grupların oldukça esnek bir şekilde uygulamaları kullanmalarına izin vermek için kolaylıklar sunar. sudoers dosyası ve sudo komutu ile ilgili daha ayrıntılı bilgiyi sudoers ve sudo man sayfalarından bulabilirsiniz. Oldukça farklı ve detaylı kullanım seçenekleri göreceksiniz.

Kod: Tümünü seç

man sudoers
Resim

Kod: Tümünü seç

man sudo
Resim

Yazının aslı ; https://teknopusula.com/linux-sistem-yo ... sabi-6828/ web sitesinde olup tarafımdan değiştirilerek sadeleştirilmiştir.

TRWE_2012
Kullanıcı avatarı
shampuan
Petabyte4
Petabyte4
Mesajlar: 8464
Kayıt: 13 Tem 2018, 17:11
Teşekkür etti: 200 kez
Teşekkür edildi: 360 kez

Re: GNU/Linux Dağıtımlarında Root Kavramı Üzerine

Mesaj gönderen shampuan »

Kullandığınız dağıtımın terminaline kısaca

Kod: Tümünü seç

sudo su

Kod: Tümünü seç

parola: ebelegübülühededhödödö
ENTER
yaparak root olunabilmekte ve iş bitiminde mutlaka yapılarak root modundan çıkılabilmektedir.
Cevapla

“Linux ve Unix tabanli isletim sistemleri” sayfasına dön