GNU/Linux >> Belajar Linux >  >> Linux

Bagaimana saya bisa memberikan cangkang dengan aman kepada seseorang?

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.


Linux
  1. Bagaimana Cara Menjatuhkan Hak Istimewa Root Dalam Skrip Shell?

  2. Bagaimana Cara Mengganti Nama Pengguna dengan Aman?

  3. Cara Membuat Pengguna SFTP tanpa Akses Shell di CentOS 8

  1. Bagaimana saya bisa melakukan pembagian dengan variabel di shell Linux?

  2. Bagaimana saya bisa menemukan versi shell saya menggunakan perintah Linux?

  3. Bagaimana saya bisa membuat pengguna yang tidak masuk?

  1. CentOS / RHEL :Cara Mengubah shell login pengguna

  2. Bagaimana saya bisa mengunyah file ke subuid tanpa sudo

  3. Bagaimana saya bisa menetapkan kata sandi awal/default untuk pengguna di Linux?