3.4.4. Hakların Yönetimi
Linux çok kullanıcılı bir sistemdir, bu nedenle dosyalar ve dizinler üzerindeki tüm sistem kaynaklarını ve aygıtlarını içeren bir dizi yetkili işlemi kontrol etmek için bir izin sistemi sağlamak gerekir (bir Unix sisteminde, herhangi bir aygıt bir dosya veya dizin). Bu ilke, tüm Unix benzeri sistemler için ortaktır.
Her dosya veya dizin, üç kullanıcı kategorisi için özel izinlere sahiptir:
• Sahibi (şu ile sembolize edilmiştir: u, kullanıcıda olduğu gibi)
• Sahip grubu (şu ile sembolize edilmiştir: g, grupta olduğu gibi), grubun tüm üyelerini temsil etmek
• Diğerleri (şu ile sembolize edilir: o, diğerlerinde olduğu gibi) Üç tür hak birleştirilebilir:
• okuma (ile sembolize edilir) r, okunduğu gibi);
• ile sembolize edilen yazma (veya değiştirme w, yazıldığı gibi);
• yürütme (ile sembolize edilir x, eXecute'da olduğu gibi).
Bir dosya söz konusu olduğunda, bu haklar kolayca anlaşılır: okuma erişimi içeriğin okunmasına (kopyalama dahil), yazma erişimi içeriğin değiştirilmesine izin verir ve yürütme erişimi, çalıştırılmasına izin verir (bu, yalnızca bir programsa çalışır).
setuid ve ayarlı Yürütülebilir dosyalarla ilgili iki özel hak vardır: setuid ve ayarlı (sembolize yürütülebilir “s” harfi ile). Bu boole değerlerinin her biri 0 veya 1 ile temsil edilebildiğinden, sık sık bitten bahsettiğimizi unutmayın. Bu iki hak, herhangi bir kullanıcının yürütmesine izin verir.
program, sırasıyla sahibin veya grubun haklarına sahiptir. Bu mekanizma, normalde sahip olacağınız izinlerden daha yüksek düzeyde izinler gerektiren özelliklere erişim sağlar.
Bir setuid root programı sistematik olarak süper kullanıcı kimliği altında çalıştırılır, güvenli ve güvenilir olmasını sağlamak çok önemlidir. Bir setuid kök programını kendi seçtikleri bir komutu çağırmak için alt etmeyi başaran herhangi bir kullanıcı, daha sonra kök kullanıcıyı taklit edebilir ve sistem üzerindeki tüm haklara sahip olabilir. Sızma test cihazları, ayrıcalıklarını yükseltmenin bir yolu olarak bir sisteme erişim sağladıklarında bu tür dosyaları düzenli olarak ararlar.
setuid ve ayarlı Yürütülebilir dosyalarla ilgili iki özel hak vardır: setuid ve ayarlı (sembolize yürütülebilir “s” harfi ile). Bu boole değerlerinin her biri 0 veya 1 ile temsil edilebildiğinden, sık sık bitten bahsettiğimizi unutmayın. Bu iki hak, herhangi bir kullanıcının yürütmesine izin verir.
program, sırasıyla sahibin veya grubun haklarına sahiptir. Bu mekanizma, normalde sahip olacağınız izinlerden daha yüksek düzeyde izinler gerektiren özelliklere erişim sağlar.
Bir setuid root programı sistematik olarak süper kullanıcı kimliği altında çalıştırılır, güvenli ve güvenilir olmasını sağlamak çok önemlidir. Bir setuid kök programını kendi seçtikleri bir komutu çağırmak için alt etmeyi başaran herhangi bir kullanıcı, daha sonra kök kullanıcıyı taklit edebilir ve sistem üzerindeki tüm haklara sahip olabilir. Sızma test cihazları, ayrıcalıklarını yükseltmenin bir yolu olarak bir sisteme erişim sağladıklarında bu tür dosyaları düzenli olarak ararlar.

Bir dizin, bir dosyadan farklı şekilde işlenir. Okuma erişimi, içeriğinin (dosyalar ve dizinler) listesine bakma hakkını verir; yazma erişimi, dosya oluşturmaya veya silmeye izin verir; ve yürütme erişimi, içeriğine erişmek için dizinden geçmeyi sağlar (örneğin, cd emretmek). Bir dizini okumadan geçebilmek, kullanıcıya oradaki adıyla bilinen girdilere erişme, ancak tam adını bilmeden onları bulamama izni verir.
The ayarlı bit, dizinler için de geçerlidir. Bu tür dizinlerde yeni oluşturulan herhangi bir öğe
The ayarlı bit, dizinler için de geçerlidir. Bu tür dizinlerde yeni oluşturulan herhangi bir öğe
ayarlı dizin ve yapışkan
bit
devralmak yerine üst dizinin sahip grubuna otomatik olarak atanır.
her zamanki gibi yaratıcının ana grubunu oluşturuyor. Bu nedenle, ana grubunuzu değiştirmeniz gerekmez ( Newgrp komutu) aynı adanmış grubun birkaç kullanıcısı arasında paylaşılan bir dosya ağacında çalışırken.
The yapışkan bit (“t” harfi ile gösterilir) sadece dizinlerde işe yarayan bir izindir. Özellikle herkesin yazma erişimine sahip olduğu geçici dizinler için kullanılır (örn. / Tmp /): dosyaların silinmesini kısıtlar, böylece yalnızca sahipleri veya üst dizinin sahibi onları silebilir. Bu olmazsa, herkes diğer kullanıcıların dosyalarını silebilir. / Tmp /.
ayarlı dizin ve yapışkan
bit
Bir dosyayla ilişkili izinleri üç komut kontrol eder:

• chown kullanıcı dosyası dosyanın sahibini değiştirir
İPUCU Sıklıkla bir dosyanın grubunu değiştirdiğiniz anda değiştirmek istersiniz.
İPUCU Sıklıkla bir dosyanın grubunu değiştirdiğiniz anda değiştirmek istersiniz.
Kullanıcıyı değiştirmek ve
Grup
sahibini değiştir. NS chown komutun bunun için özel bir sözdizimi vardır: chown
kullanıcı:grup dosyası
Kullanıcıyı değiştirmek ve
Grup
• chgrp grup dosyası sahip grubunu değiştirir
• chmod haklar dosyası dosyanın izinlerini değiştirir
Hakları temsil etmenin iki yolu vardır. Bunlar arasında, sembolik temsil muhtemelen anlaşılması ve hatırlanması en kolay olanıdır. Yukarıda belirtilen harf sembollerini içerir. Her kullanıcı kategorisi için haklar tanımlayabilirsiniz (u/g/o), açıkça ayarlayarak (ile =), toplayarak
(+) veya çıkarma (-). Böylece u=rwx,g+rw,veya formül, sahibine okuma, yazma ve yürütme hakları verir, sahip grubu için okuma ve yazma hakları ekler ve diğer kullanıcılar için okuma haklarını kaldırır. Böyle bir komutta toplama veya çıkarma ile değiştirilmeyen haklar değiştirilmeden kalır. Mektup a, herkes için, üç kullanıcı kategorisini de kapsar, böylece a=rx üç kategoriye de aynı hakları verir (okuma ve yürütme, ancak yazma yapma).
(Sekizlik) sayısal gösterim, her hakkı bir değerle ilişkilendirir: okuma için 4, yazma için 2 ve yürütme için 1. Her hak kombinasyonunu üç rakamın toplamı ile ilişkilendiririz ve her kullanıcı kategorisine olağan sırayla (sahip, grup, diğerleri) bir değer atanır.
Örneğin, chmod 754 dosya komut aşağıdaki hakları belirleyecektir: sahibi için okuma, yazma ve yürütme (7 = 4 + 2 + 1'den beri); grup için oku ve çalıştır (5 = 4 + 1'den beri); diğerleri için salt okunur. NS 0 hiçbir hak anlamına gelir; Böylece chmod 600 dosya sahibi için okuma ve yazma izinlerine izin verir ve başka hiç kimse için hiçbir hak yoktur. En sık görülen doğru kombinasyonlar 755 yürütülebilir dosyalar ve dizinler için ve 644 veri dosyaları için.
Özel hakları temsil etmek için, aynı prensibe göre bu numaranın önüne dördüncü bir rakam koyabilirsiniz; setuid, ayarlı, ve yapışkan bitler sırasıyla 4, 2 ve 1'dir. Komuta chmod 4754 ilişkilendirecek setuid bit daha önce açıklanan haklara sahip.
Sekizli gösterim kullanımının yalnızca bir dosyadaki tüm hakları bir kerede ayarlamanıza izin verdiğini unutmayın; mevcut hakları hesaba katmanız ve karşılık gelen yeni sayısal değeri hesaplamanız gerektiğinden, bunu grup sahibi için okuma erişimi gibi yeni bir hak eklemek için kullanamazsınız.
Sekizli gösterim, aynı zamanda Umask yeni oluşturulan dosyalar üzerindeki izinleri kısıtlamak için kullanılan komut. Bir uygulama bir dosya oluşturduğunda, sistemin tanımlı hakları otomatik olarak kaldırdığını bilerek gösterge niteliğinde izinler atar. Umask. Girmek Umask bir kabukta; gibi bir maske göreceksiniz 0022. Bu, sistematik olarak kaldırılacak hakların basit bir sekizli temsilidir (bu durumda, grup ve diğer kullanıcılar için yazma hakları).

Ona yeni bir sekizlik değer verirseniz, Umask komutu maskeyi değiştirir. Bir kabuk başlatma dosyasında kullanılır (örneğin, ~ / .bash_profile), çalışma oturumlarınız için varsayılan maskeyi etkili bir şekilde değiştirecektir.
İPUCU Bazen tüm dosya ağacının haklarını değiştirmemiz gerekir. Yukarıdaki tüm komutlar
İPUCU Bazen tüm dosya ağacının haklarını değiştirmemiz gerekir. Yukarıdaki tüm komutlar
özyinelemeli işlem
var bir -R alt dizinlerde özyinelemeli çalışma seçeneği.
Dizinler ve dosyalar arasındaki ayrım bazen özyinelemeli işlemlerde sorunlara neden olur. Bu nedenle hakların sembolik temsilinde “X” harfi kullanılmaya başlanmıştır. Yalnızca dizinler için geçerli olan (ve bu haktan yoksun dosyalar için geçerli olmayan) bir yürütme hakkını temsil eder. Böylece, chmod -R a+X rehber yalnızca tüm kullanıcı kategorileri için yürütme hakları ekleyecektir (a) en az bir kullanıcı kategorisinin (tek sahibi olsa bile) halihazırda yürütme haklarına sahip olduğu tüm alt dizinler ve dosyalar için.
özyinelemeli işlem
Dökümanlar