İçeriğe atla

Süper kullanıcı

Vikipedi, özgür ansiklopedi
alarm kullanıcısının grupları ve Arch Linux kurulumundaki varsayılan kullanıcılar.

Bilgisayar biliminde süper kullanıcı, sistem yönetimi için kullanılan özel bir kullanıcı hesabıdır. İşletim sistemine (OS) bağlı olarak bu hesabın adı root, admin, admin veya supervisor olabilir. Bazı durumlarda hesabın adı belirleyici faktör değildir. Unix benzeri sistemlerde, örneğin kullanıcı tanımlayıcısı (UID) sıfır olan kullanıcı, hesabın adına bakılmaksızın süper kullanıcıdır.[1] Rol tabanlı güvenlik modeli uygulayan sistemlerde, süper kullanıcı rolüne (veya eş değer izinlere) sahip herhangi bir kullanıcı, süper kullanıcı hesabının tüm eylemlerini gerçekleştirebilir. En az ayrıcalık ilkesi, süper kullanıcı hesabının sınırsız (bu nedenden ötürü, potansiyel olarak olumsuz), sistem çapında değişiklikler yapma kabiliyetine sahip olmasından dolayı çoğu kullanıcının ve uygulamanın işlerini gerçekleştirmek için sıradan bir hesap altında çalışmasını önerir.

Unix ve Unix benzeri işletim sistemlerinde

[değiştir | kaynağı değiştir]

Unix benzeri bilgisayar işletim sistemlerinde ve Linux çekirdeğinde, "root", tüm modlarda (tek veya çok kullanıcılı) tüm haklara ve izinlere (tüm dosya ve programlara) sahip olan kullanıcının gelenekselleşmiş adıdır. Alternatif isimler arasında BeOS'ta baron ve bazı Unix varyantlarında avatar bulunur.[2] BSD'de, genellikle bir "root" hesabına ek olarak bir toor (geriden yazılmış "root") hesabı da bulunur.[3] Adı ne olursa olsun, süper kullanıcının kullanıcı kimliği her zaman 0'dır. Root kullanıcısı, dosyaların sahipliğini değiştirmek ve 1024'ün altındaki ağ bağlantı noktalarına (portlara) bağlanmak gibi sıradan bir kullanıcının yapamayacağı birçok şeyi yapabilir.

Güncel Linux kök dizini

Root adı, bir Unix sisteminin kök dizinini (İngilizce root directory) değiştirme iznine sahip tek kullanıcı hesabının root olması nedeniyle ortaya çıkmış olabilir. Bu dizin başlangıçta "root'un" ana dizini olarak kabul ediliyordu.[4] Ancak, UNIX Dosya Sistemi Hiyerarşi Standardı güncel halinde "root'un" ana dizininin /root olmasını öneriyor. [5] Unix benzeri bir sistemde önyüklenen ilk işlem genellikle init olarak adlandırılır. Bu işlem, "root" ayrıcalıklarıyla çalışır. Ebeveynlerinin ayrıcalıklarını devralan diğer tüm işlemleri doğrudan veya dolaylı olarak doğurur. Yalnızca "root" olarak çalışan bir işlemin kullanıcı kimliğini başka bir kullanıcınınkiyle değiştirmesine izin verilir ve bunu yaptıktan sonra işlem geri alınamaz. Başka bir durum ise login işlemidir. Kullanıcılardan oturum açma bilgilerini isteyen bu programlar [örneğin, su (switch user - kullanıcı değiştir) veya sudo (substitute user do - kullanıcı yerine yap], başarılı kimlik doğrulama sağlanırsa işlemin/programın o hesabın ayrıcalıklarına sahip olarak çalıştırılmasına olanak tanır.

Genellikle root'un normal bir kullanıcı hesabı olarak kullanılmaması önerilir.[6][7] Bunun nedeni, komutların girilmesindeki basit yazım hatalarının bile sisteme büyük zararlar verebilmesidir (örneğin, sudo rm -rf *). Bu sebepten, çoğu UNIX / Linux tabanlı sistemde "root" yerine bir kullanıcı hesabı kullanılmalıdır ve kullanılmaktadır. Root yetkisi gerektiren işlemler su veya sudo komutu ile kullanılır. "su" komutu kullanıcının "root" şifresini bilmesini gerektirirken, "sudo" yöntemi, kullanıcının "root" olarak çalıştırılacak yetkiye sahip olmasını gerektirir. Bu işlem için /etc/sudoers dosyasındaki kullanıcı gruplarına, wheel,[8] adm,[9] admin veya sudo eklenir.

Çeşitli nedenlerden dolayı, sudo yaklaşımı daha modern görülür ve çok daha sık tercih edilir. Bu komut, örneğin komutu kimin kullandığına ve yetki gerektiren hangi işlemleri gerçekleştirdiğine dair bir denetim izi bırakır.[10]

MacOS ve bazı Linux dağıtımları (ki, önemlisi Ubuntu'dur[6]) gibi bazı işletim sistemleri, oluşturulan ilk kullanıcıya otomatik olarak sudo yoluyla "root" olarak çalıştırma imkanı verir. Ancak bu sistem, yönetimsel işlemler ("root" yetkisi gerektiren) yapmadan önce şifrelerini soracak şekilde yapılandırılmıştır. Bazı durumlarda gerçek root hesabı varsayılan olarak devre dışı olduğundan doğrudan kullanılamaz.[6] Apple iOS ve Android gibi mobil platform odaklı işletim sistemlerinde, süper kullanıcı erişimine tasarım gereği erişilemez. Ancak bu yetkiyi elde etmek için güvenlik sisteminin açıkları kullanılabilir. Plan 9 gibi bazı sistemde ise hiçbir süper kullanıcı yoktur.[11]

Microsoft Windows'da

[değiştir | kaynağı değiştir]
Microsoft Windows UAC yapısı

Windows NT ve sonraki sistemlerde (Windows 2000, Windows XP, Windows Server 2003 ve Windows Vista / 7/8/10/11 gibi) , en az bir yönetici hesabının (Windows XP ve öncesi) veya ayrıcalıkları süper kullanıcıya yükseltebilen bir hesabın (Windows Vista/7/8/10/11'de Kullanıcı Hesap Denetimi aracılığıyla) olması gerekir.[12] Windows XP ve önceki sistemlerde yöneticiye eşdeğer yetkilere sahip bir hesap mevcut olursa, gizli ve yerleşik bir yönetici hesabı vardır.[13] Bu yerleşik yönetici hesabı boş bir parolayla oluşturulur.[13] Parola boş bırakıldığında yerel kullanıcılar yönetici yetkilerine erişebilecekleri için bu durum güvenlik riskleri oluşturur. Bu nedenle bu hesap, Windows Vista ve sonraki sistemler ile beraber Kullanıcı Hesap Denetimi'nin (UAC - User Account Control) getirilmesi sonucunda varsayılan olarak devre dışı bırakılmıştır.[13] Yine bu sebepten dolayı, bilgisayara uzaktan erişen kullanıcılar yerleşik yönetici hesabına erişemez.

Windows yönetici hesabı, Unix "root" hesabı ile tam olarak bağdaştırılamaz. Windows'ta yönetici, yerleşik yönetici ve kullanıcı yönetici hesabı aynı düzeyde ayrıcalıklara sahiptir. Windows sistemlerinde oluşturulan varsayılan kullanıcı hesabı yönetici hesabıdır. UAC kullanmayan Windows işletim sistemlerinin dezavantajlarından biri, kötü amaçlı yazılımlara karşı direncin azalmasıdır. Bunu önlemek ve UAC öncesi Windows sistemlerinde optimum sistem güvenliğini sürdürmek için, parola korumalı yerleşik yönetici veya başka bir yönetici hesabı aracılığıyla standart bir kullanıcı hesabından kimlik doğrulaması yapılması önerilir.

Windows Vista/7/8/10/11 yönetici hesaplarında, bir işlemin yükseltilmiş ayrıcalıklarla çalıştırılmak istendiğini doğrulamak için bir diyalog görünür. Yönetici hesaplarında UAC diyaloğunu doğrulamak için genellikle kullanıcı bilgileri gerekmez, ancak UAC istemini doğrulamak için standart kullanıcı hesaplarında yöneticinin kullanıcı adının ve şifresinin girilmesi gerekir. Windows XP (ve önceki sistemlerin) yönetici hesaplarında, yükseltilmiş ayrıcalıklar gerektiren bir işlemi çalıştırmak için kimlik doğrulamaya gerek yoktur. Bu, UAC'nin geliştirilmesine gerektirmiş bir güvenlik riski oluşturur. UAC'den önce normal kullanıcılar, kimlik doğrulamaya ihtiyaç duymadan işlemi/programı yönetici olarak çalıştıracak şekilde ayarlayabiliyordu. runas komutu yoluyla yönetici hesabının kimlik bilgileriyle (kullanıcı adı ve parola) doğrulanacak şekilde de çalıştırabiliyordu. Kullanılan yönetici hesabı boş bir parolaya sahipse (Windows XP ve daha önceki sistemlerdeki yerleşik yönetici hesabında olduğu gibi), standart bir hesaptan kimlik doğrulamanın çoğu faydası ortadan kalkmış olur. Bu nedenle yerleşik yönetici hesabı için bir parola ayarlanması önerilir.

Novell NetWare'de

[değiştir | kaynağı değiştir]

Novell NetWare'de süper kullanıcıya "supervisor",[14] daha sonra da "admin" adı verilmiştir.

OpenVMS işletim sisteminin süper kullanıcı hesabı "SYSTEM"dir.

Daha eski kişisel sistemlerde

[değiştir | kaynağı değiştir]

Kişisel ve ev kullanımına yönelik bilgisayarlardaki eski birçok işletim sisteminde, sistemi kullanan herkes yükseltilmiş ayrıcalıklara sahipti. DOS da dahil olmak üzere, bu tür sistemlerin çoğu birden fazla hesap kavramına sahip değildi. Bazıları da Windows 95 gibi birden fazla hesaba izin verse de, bu yalnızca her kullanıcının kendi tercih profiline sahip olabilmesi içindi. Tüm kullanıcılar makine üzerinde yükseltilmiş kontrole sahipti.

  1. ^ "getpwuid". opengroup.org. 22 Ağustos 2015 tarihinde kaynağından arşivlendi. Erişim tarihi: 12 Ocak 2019. 
  2. ^ The Jargon File (version 4.4.7) 18 Nisan 2021 tarihinde Wayback Machine sitesinde arşivlendi., catb.org
  3. ^ "What is this UID 0 toor account?" 22 Aralık 2020 tarihinde Wayback Machine sitesinde arşivlendi., freebsd.org
  4. ^ "What is root? - definition by The Linux Information Project". LINFO. 8 Mayıs 2021 tarihinde kaynağından arşivlendi. Erişim tarihi: 7 Ağustos 2012. 
  5. ^ "/root : Home directory for the root user (optional)". 25 Mayıs 2005 tarihinde kaynağından arşivlendi. Erişim tarihi: 11 Mayıs 2024. 
  6. ^ a b c "RootSudo". ubuntu.com. 5 Kasım 2011 tarihinde kaynağından arşivlendi. Erişim tarihi: 16 Eylül 2015. 
  7. ^ "4.4. Administrative Controls". redhat.com. 5 Haziran 2015 tarihinde kaynağından arşivlendi. Erişim tarihi: 16 Eylül 2015. 
  8. ^ "2.3. Configuring sudo Access". redhat.com. 22 Aralık 2019 tarihinde kaynağından arşivlendi. Erişim tarihi: 16 Eylül 2015. 
  9. ^ "difference adm - root". 5 Kasım 2016 tarihinde kaynağından arşivlendi. Erişim tarihi: 1 Ağustos 2016. 
  10. ^ Brian Wotring (2005). Host Integrity Monitoring Using Osiris and Samhain. Elsevier. s. 32. ISBN 978-0-08-048894-3. 24 Mayıs 2024 tarihinde kaynağından arşivlendi. Erişim tarihi: 11 Mayıs 2024. 
  11. ^ Grosse, Eric; Pike, Rob; Presotto, Dave; Quinlan, Sean, Security in Plan 9, Bell Labs, 11 Temmuz 2018 tarihinde kaynağından arşivlendi  Birden fazla yazar-name-list parameters kullanıldı (yardım); Yazar |ad1= eksik |soyadı1= (yardım)
  12. ^ "Microsoft Corporation". Microsoft.com. 11 Temmuz 2012 tarihinde kaynağından arşivlendi. Erişim tarihi: 7 Ağustos 2012. 
  13. ^ a b c "Enable and Disable the Built-in Administrator Account". microsoft.com. 25 Temmuz 2008. 27 Kasım 2013 tarihinde kaynağından arşivlendi. Erişim tarihi: 26 Şubat 2014. 
  14. ^ "Supervisor (Bindery) User Created on Every NetWare 4 Server" 7 Kasım 2017 tarihinde Wayback Machine sitesinde arşivlendi., 01 Feb 1996, novell.com