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 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
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'tabaron 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.
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, UNIXDosya 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ı Linuxdağı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
Windows NT ve sonraki sistemlerde (Windows 2000, Windows XP, Windows Server 2003 ve Windows Vista/7/8/10/11 gibi) Windows 8, 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
Novell NetWare'de süper kullanıcıya "supervisor",[14] daha sonra da "admin" adı verilmiştir.
OpenVMS'de
OpenVMS işletim sisteminin süper kullanıcı hesabı "SYSTEM"dir.
Daha eski kişisel sistemlerde
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.
Kaynakça
^"getpwuid". opengroup.org. 22 Ağustos 2015 tarihinde kaynağından arşivlendi. Erişim tarihi: 12 Ocak 2019.
^Grosse, Eric; Pike, Rob; Presotto, Dave; Quinlan, Sean, Security in Plan 9, Bell Labs, 11 Temmuz 2018 tarihinde kaynağından arşivlendiBirden fazla yazar-name-list parameters kullanıldı (yardım); Yazar |ad1= eksik |soyadı1= (yardım)