Salah satu cara paling mudah/efisien untuk mengontrol apa yang dapat dilakukan pengguna adalah lshell.
lshell adalah shell yang dikodekan dengan Python, yang memungkinkan Anda membatasi lingkungan pengguna ke kumpulan perintah terbatas, memilih untuk mengaktifkan/menonaktifkan perintah apa pun melalui SSH (mis. SCP, SFTP, rsync, dll.), mencatat perintah pengguna, menerapkan batasan waktu, dan banyak lagi.
Jika Anda memberi seseorang akun shell, mereka dapat melihat semua file yang dapat dibaca dunia. Ini termasuk banyak file di /etc
yang diperlukan agar sistem dapat bekerja, termasuk /etc/passwd
(yang berisi nama pengguna tetapi bukan sandi).
Jika Anda mengizinkan pengguna hanya untuk masuk ke dalam chroot, mereka tidak dapat melihat file di luar chroot. Itu berarti Anda harus memasukkan cukup banyak program, pustaka, dll, di dalam chroot — semua yang harus diakses oleh pengguna dan setiap ketergantungannya juga.
Perhatikan bahwa chroot hanya melindungi akses file langsung. Pengguna dapat mengintai berbagai hal, termasuk nama dan argumen proses yang berjalan dari semua pengguna (kecuali jika Anda menyiapkan perlindungan tambahan seperti SELinux). Jika pengguna tidak perlu melakukan banyak hal, Anda dapat mengatur batasan yang lebih ketat (termasuk mencegah pengguna membuat executable mereka sendiri) dengan shell yang dibatasi, tetapi mengatur hak shell yang dibatasi sangat rumit, jadi saya tidak melakukannya. t merekomendasikannya.
Saat ini, mesin virtual sangat murah. Anda memiliki banyak implementasi gratis untuk dipilih (Mode Pengguna Linux, VirtualBox, VMware, KVM, OpenVZ, VServer, …), dan ruang disk yang digunakan oleh instalasi sistem tambahan minimal (dan Anda mungkin memerlukannya untuk chroot). Mesin virtual mengisolasi hampir semua hal:file, proses, jaringan, … Kecuali jika Anda memiliki kendala yang sangat tidak biasa, inilah caranya.
Salah satu opsi adalah menempatkannya di sesi shell terbatas, seperti rbash [bash -r].
Agak tidak jelas pada titik ini apa, tepatnya, yang ingin Anda capai, namun, di permukaan posix acl's untuk 'other' akan berlaku untuk akun baru serta grup apa pun acl untuk grup tempat akun tersebut berada, seperti sebagai 'pengguna' misalnya.