[Önemli] Yetkili Kullanıcı Kipi (su/sudo/gksudo)

Başlatan munirekinci, 27 Mart 2008 - 02:15:15

« önceki - sonraki »

0 Üyeler ve 2 Ziyaretçi konuyu incelemekte.

munirekinci

 
Bu yazının güncel ve içeriği genişletilmiş hali için:
http://munirekinci.wordpress.com/2008/11/14/yetkili-kullanici-kipi/




Not: Bu yazıda geçen: "su", "süper kip", "super user", "root", "yetkili kullanıcı", "sistem yöneticisi" kavramlarının hepsi aynı anlamdadır.
Not: Bu yazıdaki işlemlerin uygulanması sonucunda oluşabilecek her türlü zarardan kullanıcı sorumludur.


Ubuntu'da yeni olan arkadaşlar bu konuda sıkıntı çekebiliyor, bu yüzden bir açıklamada bulunmak istedim.

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 isimli kullanıcı hesabı ve root yetkilerini geçici olarak kullamaya yetkisi olan diğer kullanıcılar.

Not: Root (su, super user) 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 kullanılabilir.

Eğer kişisel kullanıcı hesabınızla Ubuntu'yu 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. Ubuntu kurulumunda oluşturulan kişisel kullanıcı hesabı yönetici yetkilerini geçici olarak kullanma yetkisine sahiptir. (Yönetici haklarının geçici olarak nasıl alınacağı yazının ilerleyen kısımlarında anlatılacaktır.)

Not: 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. Synaptic işletim sisteminin bütününü ilgilendiren bir yazılım olması sebebiyle kullanmak için root hakkına sahip olmamız gerekmektedir. Bu programı kişisel kullanıcı hesabınız ile kullanmaya çalıştığınız zaman hemen 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. 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.

Somut örnek vererek açıklamaya çalışayım. 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 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.

Alıntı YapPeki yönetici haklarına erişmek için terminale 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ında gksudo, KDE masaüstü ortamında kdesudo.

gksudo ile yönetici haklarına erişmek için işlemimizin başına gksudo komutunu eklemeliyiz. Somut örnek vererek açıklamaya çalışayım. 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.

Not: Sudo ile yetki alırken bizden şifre sorulmaması için /etc/sudoers dosyasına munirekinci ALL=(ALL) NOPASSWD: ALL şeklinde bir satır eklememiz gerekmektedir. Bu işlem için sudo visudo komutu ile visudo açılır. Dikkat sudoers dosyasında değişiklik yaparken sadece visudo programını kullanın ve çok dikkatli olun. Vim programının nasıl kullanılacağını öğrenmek için @erginemr arkadaşımızın hazırladığı şu yazıya bakabilirsiniz; http://forum.ubuntu-tr.net/index.php/topic,2719.0.html

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ı basittir; 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.

Not: Root kullanıcı hesabının şifresini belirlemek için; sudo passwd root komutunu kullanabiliriz. Ya da bir diğer yoldan; System / Administration / Users and Groups (Sistem / Yönetim / Kullanıcılar ve Gruplar) 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ı)

Örneğin;
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.
Örneğin;
sudo su
(kullanıcı hesabımızın şifresini gireriz)
synaptic
gedit
rhythmbox

bu şekilde 3 programıda kendi hesabımızu 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.

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

gksudo 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.

1. Aşama
System / Administration / Login Window (Sistem / Yönetim / Giriş Yöneticisi) ile GDM yöneticisini açalım Security (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)

2. Aşama
System / Administration / Users and Groups (Sistem / Yönetim / Kullanıcılar ve Gruplar) 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ı)

Bundan sonra Ubuntu 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. Ancak dikkatli olun sistem dosyalarıyla şakalaşmayın :)

Münir Ekinci

heartsmagic

Bilinmesi gereken önemli bir konu zannımca. Eline sağlık, sabitlendi.
Hayattan çıkarı olmayanların, ölümden de çıkarı olmayacaktır.
Hayatlarıyla yanlış olanların ölümleriyle doğru olmalarına imkân var mıdır?


Böylece yalan, dünyanın düzenine dönüştürülüyor.

munirekinci


heartsmagic

Ben de ekleme yapayım. Root hesabı Ubuntu üzerinde ön tanımlı olarak aktif değildir. Kısacası sudo ile kullandığımız parola bizim normal kullanıcı parolamız olacaktır. Bunu belirtsek fena olmaz sanırım.
Hayattan çıkarı olmayanların, ölümden de çıkarı olmayacaktır.
Hayatlarıyla yanlış olanların ölümleriyle doğru olmalarına imkân var mıdır?


Böylece yalan, dünyanın düzenine dönüştürülüyor.

poyraz

munirekinci bu sayfadaki bilgiler çok işime yaradı 2 gündür bu tür bilgileri arıyorum çok sağol.
birde root hesabını kullanmak istemiyorum (malum acemiyiz göçertiriz) ama bir iki klasörde de yetkiye ihtiyacım var.
normal kullanıcıya bir klasörde okuma yazma iznini nasıl verebilirim?
bu okuma yazma ve çalıştırma izinleri (yetki) ile ilgili bir döküman varsa tavsiye edebileceğiniz süper olur.
Teşekkürler.

Sypro



"Milliyetin çok belirgin vasıflarından biri dildir. Türk milletindenim diyen insan, her şeyden evvel ve mutlaka Türkçe konuşmalıdır. Türkçe konuşmayan bir insan, Türk kültürüne, topluluğuna bağlılığını iddia ederse buna inanmak doğru olmaz."

poyraz

sypro dediklerini xampp server kurulumundaki herşeyi harfiyen yaptım.
yetki almak için bu sayfada yazılanları da yaptım. root'la masaüstü oturum açıp dizinler için yetki aldım hala aynı hata ile karşılaşıyorum. www-data ayarına getirdim gene aynı.

10 yıllık win kullanıcısıyım, içini dışını beya bilirim.
ubuntu da beni en çok zorlayan bu chmod ayarları ve dizin yapısına yabancı olmak oldu.
program files, system, temp, cache, vs. dizinlere winde alışığız ama ubuntuda ne nerde hala arıyorum 2 saat.

yardımınız için teşekkürler.

Sypro

nautilus'a root bağlanmayı denedin mi? o zaman değişiklik yapabiliyor musun?

eğer denemediysen

sudo su
nautilus


not: terminale root bağlanıp nautilus çalıştırmak istediğinde sana bi sürü uyarı falan çıkarcak, bi 10 sn içinde de yeni bir pencere açılacak. o pencere üzerinden istediğin dosyayı istediğin şekilde değiştirmen mümkün. bir de böyle deneyelim bakalım. sonuç vercek mi.


"Milliyetin çok belirgin vasıflarından biri dildir. Türk milletindenim diyen insan, her şeyden evvel ve mutlaka Türkçe konuşmalıdır. Türkçe konuşmayan bir insan, Türk kültürüne, topluluğuna bağlılığını iddia ederse buna inanmak doğru olmaz."

Maria

@munirekinci

Paylaşımınız için teşekkürler.

aknkrds

açıklamalar için teşekkürler benim gibi linux acemilerinin işine yarayacak bilgiler :)

xxx3

#10
teşekkürler bazen gerçekten gereke biliyor bu bilgiler sahsen ben senden önce bazen karıştırıyordum sayende düzelttim eline sağlık  :)

cihank

eline sağlık gerçekten kullanışlı bilgiler. vede sade bir anlatım.

portalturks

Benim gibi yeni penguenler için çok faydalı olmuş. Klavyene sağlık :)

komikimben


feith


Alıntı yapılan: heartsmagic - 27 Mart 2008 - 02:37:45
Ben de ekleme yapayım. Root hesabı Ubuntu üzerinde ön tanımlı olarak aktif değildir. Kısacası sudo ile kullandığımız parola bizim normal kullanıcı parolamız olacaktır. Bunu belirtsek fena olmaz sanırım.

Root hesabını sonradan aktive ettim.Ancak root yetkisi gerektiren bazı işlemlerde hala normal kullanıcı şifremi kullanıyorum.Örneğin synaptici açtığımda kullanıcı şifremle girebiliyorum.Ama konsolda su yazdığımda ise benden oluşturduğum root şifresini istiyor.Root hesabı oluşturduktan sonra sudo ile istenen parola oluşturduğum root parolası olması gerekmiyor mu?

ufuk_k

Root hesabının şifresini sudo passwd ile değiştirseniz bile, sudo kullanılarak açılan uygulamalarda, kullanıcı şifresi istenecektir. Ubuntu buna göre ayarlanmış. Eğer sudo ile sorulan şifrenin de değişmesini istiyorsanız, kullanıcı şifresini de değiştirmeniz gerek.

fortran

Alıntı yapılan: munirekinci - 27 Mart 2008 - 02:15:15
Ubuntu'da yeni olan arkadaşlar bu konuda sıkıntı çekebiliyor, bu yüzden bir açıklamada bulunmak istedim...
Mesajın tamamını almadım ama yukarda altı çizilmemiş eklemek istedim. Ubuntu'da konsola su komutu verdiğinizde diğer bir Linux dağıtımında olduğu gibi işlem yapabilmenizi sağlayan güzel bir seçenektir. ;)
Özgür yazılım dergisi: eniXma

heartsmagic

Alıntı yapılan: fortran - 16 Temmuz 2008 - 18:12:47
Alıntı yapılan: munirekinci - 27 Mart 2008 - 02:15:15
Ubuntu'da yeni olan arkadaşlar bu konuda sıkıntı çekebiliyor, bu yüzden bir açıklamada bulunmak istedim...
Mesajın tamamını almadım ama yukarda altı çizilmemiş eklemek istedim. Ubuntu'da konsola su komutu verdiğinizde diğer bir Linux dağıtımında olduğu gibi işlem yapabilmenizi sağlayan güzel bir seçenektir. ;)

Ubuntu'da su doğrudan çalışmaz. sudo ile çağırmak gerekir. Ancak böyle olsa bile diğer dağıtımlardaki root parolası ile kullanılmaz yine normal kullanıcı parolası girilir. Ancak root için parola atayabiliriz.
Hayattan çıkarı olmayanların, ölümden de çıkarı olmayacaktır.
Hayatlarıyla yanlış olanların ölümleriyle doğru olmalarına imkân var mıdır?


Böylece yalan, dünyanın düzenine dönüştürülüyor.

sawgent

#18
Selamlar.

Az önce kullanıcı hakları ile uğraşırken kendi kullanıcı hesabımın bir çok yetkisini kaldırdım. root hesabı aktif değil.

Şu anda yetki gereken yerlerde yetki alamıyorum. Örneğin burada belirtilen Giriş Yöneticisini açamıyorum yetki olmadığı için. Panelden root yetkisi ile de hata veriyor. root hesabını nasıl aktif hale getirebilirim?

erginemr

sawgent,

Şu komutla:
gedit /etc/group
/etc/group dosyanızın içeriğini buraya yapıştırır mısınız?

sawgent


ilginize tesekkurler format atip tekrar kurmam gerekti.sorun da kalmadi boylece

Adil

Ubuntu kurulumda benden root şifresi belirlememi istemedi. Biraz önce konsolda root olmaya çalıştım, belirlediğim tek şifre olan kullanıcı şifremi kabul etmedi.
Burası benden başka kaç insanın evidir bilmiyorum.
Ben bir başıma onlardan uzağım,
hep birlikte onlar benden uzak.
Bana kendimden başkasıyla konuşmak yasak. (Nazım Hikmet)

erginemr

Root olmak için "su" komutunu kullanmayın. Onun yerine, komutları root yetkisiyle çalıştırmak için "sudo"yu kullanın:
sudo komut_ismi

munirekinci

#23
Bilgilendirme: Yazı baştan sona yenilendi. Lütfen gördüğünüz eksikleri ve yanlışları belirtiniz.

potasyumsiyanur

bir çok kişinin merak ettiği bir konuya açıklık getirilmiş
çalışmanız için teşekkürler
deniz yanmaz dersin ama...
yanarsada kimse söndüremez.