Root (kök kullanıcı) hakları elde etmek

Ubuntu Türkiye Wiki sitesinden
21.00, 2 Ekim 2013 tarihinde Hatas (mesaj | katkılar) tarafından oluşturulmuş 17094 numaralı sürüm
Gezinti kısmına atla Arama kısmına atla

Özet

Linux’a yeni başlayanlar yetkili kullanıcı kipi hakkında sıkıntı çekebiliyor. Bu yazının amacı bu konudaki eksikliği gidermektir.

Temel bilgiler

Linux’taki kullanıcıları yönetici yetkisi olanlar ve yönetici yetkisi olmayanlar olarak ikiye ayırabiliriz. Yönetici yetkisine sahip olan kullanıcılar ise ikiye ayrılır; gerçek yönetici yani root (kök kullanıcı) isimli kullanıcı hesabı ve root yetkilerini geçici olarak kullamaya yetkisi olan diğer kullanıcılar.

Root kullanıcısı işletim sistemi üzerinde herşeyi yapmaya yetkisi olan tek kullanıcıdır. Bu yetkiler diğer kullanıcılar tarafından doğrudan kullanılamaz ancak dolaylı yoldan geçici olarak kullanılabilir.

Eğer kişisel kullanıcı hesabınızla Linux kullanıyorsanız yönetici yetkisi dahilindeki kullanıma mahsus bazı programları ve verileri kullanmanız kısıtlanmıştır. Bunu aşmak için kendi kullanıcı hesabınız üzerinde geçici olarak yönetici haklarını almanız ya da yönetici hesabını kullanmanız gerekir. (Yönetici haklarının sudo programı ile geçici olarak nasıl alınacağı yazının ilerleyen kısımlarında anlatılacaktır.) Root yetkisini dolaylı yoldan kullanmaya yetkisi olmayan diğer gürûh ise sistem yöneticisi haklarını hiçbir şekilde alamaz.

Somut örnek vererek açıklamaya çalışayım; Paket yöneticisi gibi işletim sisteminin bütününü ilgilendiren yazılımları kullanmak için root hakkına sahip olmamız gerekmektedir. Bu gibi programları kişisel kullanıcı hesabınız ile kullanmaya çalıştığınız zaman programın kendisi sizin kullanıcı hesabınızın şifrenizi isteyecektir. Eğer yönetici haklarını geçici olarak kullanmaya yetkisi olan bir kullanıcı ile bu işlemi yaptıysanız, program etkin biçimde açılacaktır. Aksi takdirde açılsa bile sistem üzerinde değişiklik yapmak olanaksız olacaktır. Yönetici yetkisi dahilinde bir işlem yapmaya çalışırken her zaman bizden şifre istenmeyecektir. Bu özellik sadece bazı programlara mahsustur. Ve normal kullanıcı hakları ile kullanmaya çalıştığımızda yetkilerimizin yeterli olmadığını söyleyecektir. Bu durumda yönetici yetkilerine erişerek işimizi yapmak için işlemin başına sudo komutunu eklemeliyiz. sudo geçici olarak yönetici haklarını almaya yetkisi olan kullanıcılara bu haklarını kullanmasını sağlayan metin tabanlı ufak bir yazılımdır.

Örneğin normal şartlar altında kişisel kullanıcı hesabımızla /etc/X11/xorg.conf dosyasını açabiliriz, ancak üzerinde değişiklik yapamayız. Bunu aşmak kullanacağımız metin editörünü açarken root yetkileri ile açılmasını sağlamalıyız. Bunun için uçbirim (terminal) üzerinden,


  sudo gedit

komutunu verip ardından şifremiz ile giriş yaparsak, gedit; yazı düzenleme programı süper kullanıcı kipinde açılacaktır. İşte bu şekilde açtığımız programlarda yetki kısıtlaması olmaz.

Not: Şifreleriniz güvenlik için konsolda gözükmez. Şifrenizin gözükmediğine aldanıp, şifreyi giremediğinizi zannetmeyin.

“Peki yönetici haklarına erişmek için uçbirime mecbur muyuz?” sorusunu duyar gibiyim. Elbete hayır! Yönetici yetkilerini geçici olarak kullanmamız için tasarlanmış grafik arayüzüne sahip programlarda mevcuttur. En bilinen iki örneği; GNOME masaüstü ortamındaki gksudo ve KDE masaüstü ortamında kdesudo.

gksudo ile yönetici haklarına erişmek için işlemimizin başına gksudo komutunu eklemeliyiz. Gedit’i yönetici yetkileri ile açmak için; Alt+F2 tuş kombinasyonu kullanılır, karşımıza gelen çalıştırma penceresinde çalıştırılacak komut kısmına


 gksudo gedit

yazılır ve komut çalıştırılır. Ve karşımızda gksudo programına ait, yönetici haklarına erişmemiz için kullanıcı şifremizi girmemiz gerektiğini belirten bir pencere görürüz. Şifremiz ile giriş yaparsak, gedit; yazı düzenleme programı süper kullanıcı kipinde açılacaktır. İşte bu şekilde açtığımız programlarda da yetki kısıtlaması olmaz.

Not: Geçici olarak root yetkileri alındıktan sonra 5dk süre ile aynı şekilde ama şifre istenmeden root yetkileri kullanılabilir.

Sudo’yu çalışır hale getirmek

Sudo ile geçici olarak root yetkisi almak için /etc/sudoers dosyasına


munirekinci ALL=(ALL) NOPASSWD: ALL 

gibi bir satır eklememiz gerekmektedir. Bu örnekte gösterilen “munirekinci” yerine istediğiniz kullanıcı adını yazmalısınız. Bu işlem için

Görevi: Visudo'yu açar
 sudo visudo

komutu ile visudo açılır ve gerekli değişiklikler yapılır. NOPASSWD kısmı sudo’yu şifresiz olarak kullanmamızı sağlar.

Not: sudoers dosyasında değişiklik yaparken sadece visudo programını kullanın ve çok dikkatli olun.

Bunun dışında bir de su programı vardır. Bu program kullanıcı girişi yapmayı sağlar. Ve elbette root olarak giriş yapmak içinde kullanılabilir. Root girişi yapmak için kullanımı

Görevi: Root girişi sağlar
 su

Bu komutu terminale girdikten sonra bizden root kullanıcısının şifresi istenir, root kullanıcısının şifresini girdikten sonra o konsol oturumunda verdiğimiz her komut süper kullanıcı kipinde çalıştırılacaktır.

Root kullanıcı hesabının şifresini belirlemek

Bunun için aşağıdaki komutu kullanabilirisiniz.


 sudo passwd root

Ya da; Sistem / Yönetim / Kullanıcılar ve Gruplar yolundan, açılan formdan root hesabını seçelim ve “Properties” (Özellikler) butonuna tıklayalım. Yeni açılan formda root hesabının özellikleri ve ayarları var. Buradan şifreyi istediğimiz şekilde ayarlıyoruz. (İki kutuda aynı olmalı) (en az 6 haneli olmalı)

Örnek:


su
(root kullanıcı hesabının şifresini gireriz)
synaptic
gedit
rhythmbox

bu şekilde 3 programıda root kullanıcısı ile açmış oluruz.

Geçici olarak root olarak giriş yapmak için ise root şifresine ihtiyaç yoktur, bunu kendi şifremiz ile yapabiliriz.

Örnek:


sudo su
(kullanıcı hesabımızın şifresini gireriz)
synaptic
gedit
rhythmbox

bu şekilde 3 programıda kendi hesabımızı kullanarak root hakları ile açmış oluruz.

Not: Yönetici (root) hakkına sahip olmadan root yetkileri dahilinde bir işlem yapmaya çalışırsa yetkimizin olmadığı konusunda uyarı alırız ve işlemi gerçekleştiremeyiz.


Grafik arayüzde sudo

Grafik arabirimine sahip dosya yöneticisinin (Nautilus) bazı veriler üzerinde yetkisinin olmaması bu anlattığım şekilde çözülebilir.


 sudo nautilus

komutunu terminalden vererek dosya tarayıcımızı süper kipte açıp, istediğimiz her türlü yetkilere sahip olabiliriz. Ya da Alt+F2 gksudo nautilus.

Eğer yaptığınız her işte şifre sorulmasından hoşlanmıyorsanız. Root olarak oturum açmanız gerekir. Bunun için şunları yapmalıyız.

  • Sistem / Yönetim / Giriş Yöneticisi ile GDM yöneticisini açıp, Güvenlik sekmesine gidelim. Buradan “Allow local system administrator login” (”Yerel sistem yöneticisi girişine izin ver”) seçeneğini işaretleyelim. (işaretliyse dokunmayın)
  • Sistem / Yönetim / Kullanıcılar ve Gruplar'da açılan formdan root hesabını seçelim ve Özellikler butonuna tıklayalım. Yeni açılan formda root hesabının özellikleri ve ayarları var. Buradan şifreyi istediğimiz şekilde ayarlıyoruz. (İki kutuda aynı olmalı) (en az 6 haneli olmalı)

Bundan sonra işletim sistemi açıldıktan sonra giriş yapmamız gereken menüde (GDM) kullanıcı adına “root” şifreyede ayarladığımız şifreyi girersek. İşletim sistemini super user olarak kullanırız. Böylelikle işletim sistemi bize hiçbir yetki kısıtlaması koymaz. İstediğimiz herşeyi istediğimiz gibi değiştirir ve kullanırız.