Neler yeni
MEGAForum - Teknoloji Forumu

Forum içeriğine ve tüm hizmetlerimize erişim sağlamak için foruma kayıt olmalı yada giriş yapmalısınız. Forum üye olmak tamamen ücretsizdir.

  • Web sitemizin içeriğine ve tüm hizmetlerimize erişim sağlamak için Web sitemize kayıt olmalı ya da giriş yapmalısınız. Web sitemize üye olmak tamamen ücretsizdir.
  • Sohbetokey.com ile canlı okey oynamaya ne dersin? Hem sohbet et, hem mobil okey oyna!
  • Soru mu? Sorun mu? ''Bir Sorum Var?'' sistemimiz aktiftir. Paylaşın beraber çözüm üretelim.

Linux'ta chroot Komutu – Yeni Başlayanlar İçin Giriş Seviyesi

TRWE_2012

لِيَغْفِرَ لَكَ اللّٰهُ مَا تَقَدَّمَ مِنْ ذَنْبِك
Moderatör
Konum
BERTUNA
  • Üyelik Tarihi
    2 Haz 2020
  • Mesajlar
    5,358
  • MFC Puanı
    16,420
Bu yazıda chroot komutunun Linux'taki işlevini ve kullanımını örneklerle tartışacağız.

chroot Komutu Nedir?​

Chroot komutu, geçerli işlemin görünen kök dizinini ve bunun alt işlemlerini değiştirir. Unix tabanlı bir sistemde kök, temel dizine (/) atıfta bulunur. Chroot, işlemin içinde çalıştığı sahte bir kök ortamı yaratır. Böyle bir ortamda çalışan işlemler, o ortamın dışındaki dosya ve komutlara erişemez veya “işlem o ortam içinde hapsedilir” diyebiliriz . Bu nedenle oluşturulan ortama “chroot jail” de denir .

chroot Komutu Nerede Kullanılır?​

Choort ortamı özellikle aşağıdaki amaçlar için faydalı olabilir:

  • Dosya sisteminizi kurtarma ve önyükleyiciyi yeniden yükleme: Hasarlı bir dosya sistemini canlı bir CD'deki bir bağlama noktasına bağlamak için chroot komutunu kullanabiliriz. Bunu yapmak, hasar sistemi üzerinde çalışmamıza ve normal olarak root(/)'a monte edilmiş gibi düzeltmeye çalışmamıza izin verir.
  • Yazılım Testi: Test ortamları, aksi takdirde sistem genelinde sorunlara neden olabilecek yeni yazılımları çalıştırmak ve test etmek için iyi bir yol sağlar. Genellikle, bu tür görevler için kapsayıcılar kullanılır, ancak chroot ortamı, ana sisteminizde bir çizik bırakmadan küçük komut dosyalarını test etmek için kolay bir tercih olabilir.
  • Uyumsuz bağımlılıklarla Yazılım Çalıştırma: Bir uygulama ve bağımlılıkları ayrı bir chroot klasöründe tutularak, çakışan bağımlılıklara sahip iki yazılım çalıştırılabilir.

Linux'ta chroot komutu nasıl kullanılır?​

Teori tamamen temizlendikten sonra, chroot komutunu nasıl kullanacağımızı öğrenelim.

Argümanlarla chroot'un sözdizimi:​

1chroot [OPTION] NEWROOT [COMMAND [ARG]...]

KOMUT'u kök dizini NEWROOT olarak ayarlanmış olarak çalıştırır.

chroot için mevcut SEÇENEKler şunlardır:

userspec=KULLANICI:GRUPKullanılacak kullanıcı ve grubu (kimlik veya ad) belirtmek için
groups=G_LISTEk grupları g1,g2,..,gN olarak belirtmek için
askip-chdirÇalışma dizinini '/' olarak değiştirmez
KOMUT belirtilmezse, varsayılan komut olan “$SHELL” -i çalıştırılır.

Seçeneklerle chroot'un sözdizimi:​

SEÇENEKLER:

helpYardımı görüntülemek ve çıkmak için.
versionSürüm bilgilerini yazdırır ve çıkar.

chroot komutunun örnek kullanımı​

Bir chroot komutunun gösterimi için, bir chroot ortamı oluşturacağız ve bunun içinde bash kabuğunu çalıştıracağız.

1. chroot dizini oluşturun. Adını fake_root koyalım.

2. mkdir komutunu kullanarak fake_root içinde gerekli dizinleri oluşturun . Bin genellikle ikili dosyaları içerir ve lib,lib64 birlikte bu programların gerektirdiği kitaplıkları içerir.

1
mkdir -p $HOME/fake_root/{bin,lib,lib64}
3. Gerekli ikili dosyaları kökten chroot ortamına kopyalayın. Bazen küçük düzenleme amaçları için vim gibi metin düzenleyicileri dahil etmek de iyi bir seçenektir.

1
cp /bin/{bash,ls} $HOME/fake_root/bin/
4. Bu ikili dosyaların lib ve lib64 içinde saklanan bağımlılıkları vardır. İkili dosyaların doğru çalışmasını istiyorsak, bu bağımlılıkları chroot ortamına da kopyalamamız gerekir.

chroot komutu

Şekil 1: Ubuntu'da ls ve bash'ın bağımlılığı

5. cp komutunu kullanarak bağımlılıkları chroot ortamına kopyalayın

1cp --parent {/lib/x86_64-linux-gnu/libtinfo.so.6,/lib/x86_64-linux-gnu/libdl.so.2,/lib/x86_64-linux-gnu/libc.so.6,/lib64/ld-linux-x86-64.so.2,/lib/x86_64-linux-gnu/libpthread.so.0,/lib/x86_64-linux-gnu/libselinux.so.1,/lib/x86_64-linux-gnu/libpcre2-8.so.0,} ~/fake_root/

6. Bağımlılıkları başarıyla kopyaladıktan sonra chroot komutunu çalıştırın.

1
sudo chroot $HOME/jail /bin/bash
Chroot Ortamı

Şekil 2: chroot ortamına girin

Chroot ortamını etkinleştirdikten sonra, root ayrıcalıklarını
yükseltmeden fake_root dışındaki dosyalara erişip erişemediğinizi kontrol ederek test edebilirsiniz .

Çözüm​

Bu bizi chroot komutuyla ilgili bu makalenin sonuna getiriyor. Gelecekte bu tür Linux Komutları hakkında daha fazla bilgi edinmek için bizi izlemeye devam edin.
 
Üst Alt