Özetle, ad alanları daha büyük bir Linux sistemi içinde sanal bir Linux sistemi kurmak için bir yol sağlar. Bu, ayrıcalıksız bir işlem olarak çalışan bir sanal makineyi çalıştırmaktan farklıdır: sanal makine ana bilgisayarda tek bir işlem olarak görünürken, bir ad alanı içinde çalışan işlemler hala ana bilgisayar sisteminde çalışıyor.
Daha büyük bir sistemin içinde çalışan sanal sisteme konteyner denir . Bir kap fikri, kap içinde çalışan işlemlerin sistemdeki tek işlem olduğuna inanmalarıdır. Özellikle, kapsayıcı içindeki kök kullanıcının kapsayıcı dışında kök ayrıcalıkları yoktur (bunun yalnızca çekirdeğin son yeterli sürümlerinde geçerli olduğunu unutmayın).
Ad alanları aynı anda bir özelliği sanallaştırır. Ad alanı türlerine bazı örnekler:
- Kullanıcı ad alanları - bu, işlemlerin ad alanının içinde ve dışında farklı kullanıcılar gibi davranmasını sağlar. Özellikle, ad alanında UID 0 olarak çalışan işlemler, yalnızca aynı ad alanında çalışan işlemlere göre süper kullanıcı ayrıcalıklarına sahiptir.
Linux çekirdeği 3.8'den beri, ayrıcalıksız kullanıcılar kullanıcı ad alanları oluşturabilir. Bu, sıradan bir kullanıcının kök dizinine ayrılmış özellikleri (yönlendirme tablolarını değiştirme veya ayar yetenekleri gibi) kullanmasına olanak tanır.
- PID ad alanları - PID ad alanı içindeki işlemler, bu ad alanının dışındaki işlemleri öldüremez veya izleyemez.
- Ad alanlarını bağla - bu, işlemlerin dosya sistemi hakkında kendi görünümüne sahip olmasını sağlar. Bu görünüm, dizin sisteminin farklı yerlerde görünmesi için dosya sisteminin bazı parçalarının gizlenmesine ve parçaların yeniden oluşturulmasına izin veren kısmi bir görünüm olabilir. Bağlama ad alanları , işlemlerin belirli bir alt ağaçla kısıtlanmasını sağlayan geleneksel Unix özellik krootunu genelleştirir .
- Ağ ad alanları - ağ kaynaklarının (ağ aygıtları) ayrılmasına izin verir ve böylece işlemlerin yalıtımını artırır.
Ad alanları, ad alanları arasında yalıtım sağlamak için çekirdeğe güvenir. Bu haklı olmak için oldukça karmaşıktır, bu yüzden hala etrafta güvenlik hataları olabilir. Güvenlik hataları riski, özelliğin etkinleştirilmemesinin başlıca nedeni olacaktır. Etkinleştirmemenin bir başka nedeni, gömülü bir aygıt için küçük bir çekirdek oluştururken olabilir. Tipik bir sunucuya veya iş istasyonuna kuracağınız genel amaçlı bir çekirdekte, diğer olgun çekirdek özellikleri gibi ad alanlarının etkinleştirilmesi gerekir.
Ad alanlarını kullanan hala az sayıda uygulama vardır. Burda biraz var:
Daha fazla bilgi için Michael Kerrisk'in LWN makale dizisine bakınız .