Mengapa "chroot" tidak pernah digunakan di Mac OS X?

9

Saya telah menggunakan Mac selama 25 tahun, dan "UNIX" sejak OS X 10.0 .. tapi saya tidak pernah benar-benar berpikir banyak tentang chroot, saya juga tidak pernah benar-benar membutuhkan atau ingin ...

Ini pertanyaan sederhana, tetapi ... dalam situasi apa seseorang akan memilih untuk menggunakan "chroot" pada Mac? Memang ini adalah fungsi bawaan dari hari-hari BSD, tetapi saya belum pernah mendengarnya digunakan ... Apakah fungsionalitas merupakan bagian dari baris perintah atau alat tingkat sistem lain yang meniadakan perlunya chroot? Jika demikian, apa fungsi yang setara? Jika tidak, mengapa tampaknya tidak pernah digunakan, dirujuk, atau dibutuhkan?

mralexgray
sumber

Jawaban:

14

Ada dua kategori utama kegunaan untuk chroot ( artikel Wikipedia lebih rinci):

  • Mengisolasi aplikasi, menyediakannya dengan tampilan terbatas pada sistem file. Ini biasanya dilakukan untuk server FTP publik, misalnya, untuk memastikan mereka tidak akan dapat melayani file di luar area publik bahkan jika ada bug dalam perangkat lunak server. Kasus penggunaan ini semakin jarang terjadi karena dua alasan. Pertama, chroot tidak menyediakan banyak isolasi, kerentanan di server dapat memungkinkan penyerang melakukan kerusakan dalam banyak cara selain mengakses file. Kedua, mesin virtual, yang memang menyediakan isolasi yang lebih kuat, telah menjadi jauh lebih murah, dan seringkali lebih mudah diatur, sehingga mereka adalah pilihan alami.
  • Jalankan perangkat lunak dalam sistem operasi yang berbeda dengan kernel yang sama tetapi pustaka yang berbeda. Misalnya, seperti yang disarankan oleh David Cournapeau , jika Anda sedang mengembangkan perangkat lunak, memiliki banyak hal tambahan yang diinstal, dan ingin memastikan perangkat lunak Anda tidak bergantung pada hal-hal tambahan itu, Anda dapat mengujinya dalam chroot hanya dengan instalasi minimal. Atau (tapi saya tidak berpikir itu sangat umum untuk sistem OSX) Anda mungkin menjalankan rilis OS yang berbeda - misalnya saya memiliki sistem Linux 64-bit yang memiliki distribusi 32-bit yang dapat diakses dengan chroot, untuk saat-saat langka ketika saya perlu menjalankan aplikasi 32-bit yang tidak akan berjalan langsung di sistem utama.

Kedua jenis kasus penggunaan agak khusus. Chroot tidak berguna bagi kebanyakan orang; itu ada di sana karena berguna bagi sebagian orang, dan sangat murah untuk diterapkan.

Gilles 'SANGAT berhenti menjadi jahat'
sumber
6

Saya menggunakan chroot pada mac os x untuk menguji beberapa perangkat lunak, atau untuk menguji pengemasan proyek yang terlibat dengan saya (misalnya menguji instalasi pada 10.4 sementara saya menggunakan 10.6).

David Cournapeau
sumber
2
dapatkah Anda memberikan contoh cara menggunakannya?
Alexander Mills
2

Seberapa sering orang ingin membuka sistem pribadi mereka untuk diakses orang lain? Sebagian besar waktu, chroot diarahkan ke server dengan banyak pengguna yang berbeda. Namun, jika Anda memang ingin mengatur server SFTP lokal agar pengguna dapat mengakses sistem pribadi Anda, maka Anda harus melakukan chroot.

Mungkin posting ini akan memulai Anda ke arah yang benar:

http://hints.macworld.com/article.php?story=2004110314282345

Matt Beckman
sumber