root Kullanıcısı
𐰓𐰠𐰃:𐰸𐰆𐰺𐱃 (kurth4cker)Hepinizin bildiği gibi GNU/Linux sistemlerde birden fazla kullanıcı var. Her sistemde olan ve kritik olan kullanıcı ise root kullanıcısıdır. Bu kullanıcının sistem üzerindeki yetkisi sınırsız diyebiliriz. Normalde root kullanıcısının yetkileriyle işlem yapmak tehlikeli olsa da bazen buna ihtiyaç duyarız. Çünkü sistemde değişiklik yapma yetkisi sadece ona aittir ve o yetki olmadan sistem yönetimi gerçekleştirilemez. Örneğin paket kurmak/kaldırmak için root yetkisi gerekli. Yeni kullanıcı eklemek, sistem dosyalarıyla ve ayarlarıyla oynamak için root yetkisine ihtiyacımız var.
Önce bu kullanıcı hesabının özelliklerini biraz daha iyi tanıyalım:
- Her kullanıcı gibi root kullanıcısının da bir uid değeri vardır ve bu değer 0`dır. Aslında kullanıcıyı o kadar yetkili yapan şey kullanıcı adının root olması değil uid değerinin 0 olmasıdır. Eğer başka bir kullanıcının uid değerini de aynı yaparsak o kullanıcı root yetkilerine sahip olur. Aslına bakarsanız yine aynı kullanıcı olmuş olur çünkü uid kullanıcıya özeldir ve TC kimlik numarası gibidir. İsminin farklı olması önemli değildir.
- Ayrıca root kullanıcısının ev dizini de pek çok dağıtımda diğer kullanıcılarla aynı yerde değildir. Normalde bu dizin /home/kullanıcı_adı şeklinde bulunurken root kullanıcısının ev dizini ise /root dizinidir. Ayrıca pek çok dağıtımda root için varsayılan bash promptu da normal kullanıcılarla aynı değildir. Genelde kırmızı ve dikkat çekici olur çünkü bir root terminalinde normal kullanıcı işleri yapmak pek istenen bir durum değildir.

- root kullanıcı aslında her zaman aktif bir kullanıcıdır. Çünkü sistem açılırken root yetkileriyle açılır. Herhangi bir görev yöneticide detaylı olarak görevleri incelediğimizde en düşük id değerine sahip süreçlerin sahibinin root olduğunu görürüz. Bunlar sistem başlangıcından oturum açıncaya kadar başlatılan sistem servisleridir. En basit örnet init sürecidir. İlk başlatılandır ve kesinlikle root tarafından başlatılır.
Peki nasıl alırız bu yetkiyi?
Bunu yapmanın en temel yolu su komutu ile root kullanıcısına geçiş yapmaktır. Açılımı switch user (kullanıcıya geç) olan bu komut başka bir kullanıcıya geçiş yapıp onun yetkileriyle işlemler gerçekleştirmeye yarar. Eğer kullanıcı adı belirtilmezse varsayılan olarak root kullanıcısına geçer. Doğal olarak bir kullanıcının hesabına geçmek için de o kullanıcının şifresine gerek var. Eğer sistemi kurarken root kullanıcısına şifre atamadıysanız bu komut sizin işinizi görmez.
İkinci bir yol ise sudo veya doas gibi komutlardır. Bu komutlar temel olarak sudo komut şeklinde çalışır. Yani verilen komutu root yetkisiyle çalıştırır. Bunun olabilmesi için ise komutu kullanan hesabın ilgili ayar dosyasında ekli ve yetkili olması gerekir. Ben genel olarak bunları tercih etmiyorum çünkü fazladan ve aslında çok da gerekli olmayan bir yetkilendirme güvenlik açığı riskini artırır. Ama bu demek değildir ki güvensiz. Zaten pek çok dağıtım varsayılan olarak root kullanıcısına şifre atamak yerine (su için gerekliydi hatırlarsanız) sudo kurup eklenen ilk kullanıcıyı yetkili yapmayı tercih eder.
Örnek kullanım
su komutu ile root olmak için su komutu yeterli. root parolanızı soracak. parolayı girin ve rootsunuz.

sudo komutu için ise pek çok kaynak zaten mevcut. Ayarlama yapmanıza çoğu zaman gerek yok. Bunu pek çok dağıtım kurarken yapıyor. Daha detaylı bilgi için wikipedia sayfasına bir bakın.