Ini adalah perintah lshell yang dapat dijalankan di penyedia hosting gratis OnWorks menggunakan salah satu dari beberapa workstation online gratis kami seperti Ubuntu Online, Fedora Online, emulator online Windows atau emulator online MAC OS
PROGRAM:
NAMA
lshell - Cangkang Terbatas
RINGKASAN
kulit [PILIHAN]
DESKRIPSI
kulit menyediakan shell terbatas yang dikonfigurasi per pengguna. Konfigurasi dilakukan dengan cukup
cukup menggunakan file konfigurasi. Ditambah dengan ssh' otorisasi_keys atau dengan / etc / shells
dan / etc / passwd , menjadi sangat mudah untuk membatasi akses pengguna ke kumpulan terbatas
perintah.
PILIHAN
--konfigurasi
Tentukan file konfigurasi
--catatan
Tentukan direktori log
--
di mana adalah *apa saja* parameter file konfigurasi
-H, --membantu
Tampilkan pesan bantuan
--Versi: kapan
Tampilkan versi
KONFIGURASI
Anda dapat mengonfigurasi lshell melalui file konfigurasinya:
On Linux -> /etc/lshell.conf
On * BSD -> /usr/{pkg,lokal}/etc/lshell.conf
kulit konfigurasi memiliki 4 jenis bagian:
[global] -> kulit sistem konfigurasi (hanya 1)
[bawaan] -> kulit kegagalan pemakai konfigurasi (hanya 1)
[foo] -> UNIX nama pengguna "foo" tertentu konfigurasi
[grp:bilah] -> UNIX nama grup "batang" tertentu konfigurasi
Urutan prioritas saat memuat preferensi adalah sebagai berikut:
1- Pengguna konfigurasi
2- Kelompok konfigurasi
3- Default konfigurasi
[global]
jalan masuk
jalur konfigurasi (defaultnya adalah /var/log/lshell/)
tingkat log
0, 1, 2, 3 atau 4 (0: tidak ada log -> 4: mencatat semuanya)
nama file log
- mulai syslog untuk masuk ke syslog
- setel nama file log, misalnya %u-%y%m%d (mis. foo-20091009.log): %u -> nama pengguna
%d -> hari [1]
%m -> bulan [1]
%y -> tahun [00..99]
%h -> waktu [00:00..23:59]
nama syslog
jika Anda menggunakan syslog, atur nama log Anda (default: lshell)
sertakan_dir
menyertakan direktori yang berisi beberapa file konfigurasi. File-file ini hanya bisa
berisi konfigurasi default/pengguna/grup. Konfigurasi global hanya akan
dimuat dari file konfigurasi default. Variabel ini akan diperluas (mis
/path/*.conf).
[bawaan] dan / atau [Nama] dan / atau [grp:nama grup]
alias
daftar alias perintah (mirip dengan arahan alias bash)
diizinkan
daftar perintah yang diizinkan atau disetel ke 'semua' untuk mengizinkan semua perintah di PATH pengguna
diperbolehkan_cmd_path
daftar jalur; semua file yang dapat dieksekusi di dalam jalur ini akan diizinkan
env_path
perbarui variabel lingkungan $PATH pengguna (opsional)
env_vars
setel variabel lingkungan (opsional)
terlarang
daftar karakter atau perintah terlarang
sejarah_file
mengatur nama file sejarah. Sebuah wildcard dapat digunakan:
%u -> nama pengguna (misalnya '/rumah/%u/.lhistory')
sejarah_ukuran
atur ukuran maksimum (dalam baris) dari file riwayat
jalur_rumah (tidak digunakan lagi)
atur folder beranda pengguna Anda. Jika tidak ditentukan, direktori home disetel ke
variabel lingkungan $HOME. Variabel ini akan dihapus di versi berikutnya
dari lshell, silakan gunakan alat sistem Anda untuk mengatur direktori home pengguna. A
wildcard dapat digunakan:
%u -> nama pengguna (misalnya '/rumah/%u')
intro atur pengantar untuk dicetak saat masuk
skrip_login
tentukan skrip untuk dijalankan saat login pengguna
passwd kata sandi pengguna tertentu (default kosong)
path daftar jalur untuk membatasi pengguna secara geografis. Dimungkinkan untuk menggunakan wildcard
(misalnya '/var/log/ap*').
cepat atur format prompt pengguna (default: nama pengguna)
%u -> nama pengguna
%h -> nama host
prompt_pendek
atur sortir pembaruan direktori saat ini - atur ke 1 atau 0 berlebihan daftar perintah
diizinkan untuk mengeksekusi melalui ssh (misalnya rsync, rdiff-backup, scp, dll.)
scp mengizinkan atau melarang penggunaan koneksi scp - setel ke 1 atau 0
scpforce
paksa file yang dikirim melalui scp ke direktori tertentu
scp_download
setel ke 0 untuk melarang unduhan scp (defaultnya adalah 1)
scp_upload
setel ke 0 untuk melarang unggahan scp (defaultnya adalah 1)
sftp mengizinkan atau melarang penggunaan koneksi sftp - setel ke 1 atau 0.
PERINGATAN: Opsi ini tidak akan berfungsi jika Anda menggunakan layanan sftp internal OpenSSH
(misalnya ketika dikonfigurasi di chroot)
sudo_commands
daftar perintah yang diizinkan yang dapat digunakan dengan sudo(8). Jika diatur ke 'semua', semua
perintah 'diizinkan' akan dapat diakses melalui sudo(8).
Dimungkinkan untuk menggunakan flag -u Sudo untuk menjalankan perintah sebagai yang berbeda
pengguna daripada root default.
Timer nilai dalam detik untuk pengatur waktu sesi
ketat ketatnya pencatatan. Jika diatur ke 1, setiap perintah yang tidak diketahui dianggap sebagai terlarang,
dan penghitung peringatan pengguna berkurang. Jika diatur ke 0, perintah dianggap sebagai
tidak diketahui, dan pengguna hanya diperingatkan (yaitu *** synthax tidak diketahui)
peringatan_counter
jumlah peringatan ketika pengguna memasukkan nilai terlarang sebelum keluar dari
kulit. Mulai -1 untuk menonaktifkan penghitung, dan hanya memperingatkan pengguna.
SHELL DIBANGUN PERINTAH
Berikut adalah kumpulan perintah yang selalu tersedia dengan lshell:
jelas membersihkan terminal
Tolong, ?
cetak daftar perintah yang diizinkan
sejarah
cetak riwayat perintah
jalan daftar semua jalur yang diizinkan dan terlarang
lsudo daftar semua perintah sudo yang diizinkan
CONTOH
$ kulit
Mencoba menjalankan lshell menggunakan ${PREFIX}/etc/lshell.conf default sebagai file konfigurasi.
Jika gagal, peringatan dicetak dan lshell terputus. pilihan lshell adalah
dimuat dari file konfigurasi
$ kulit --konfigurasi /path/ke/myconf.file --catatan /path/ke/mylog.log
Ini akan menimpa opsi default yang ditentukan untuk konfigurasi dan/atau file log
GUNAKAN KASUS
Tujuan utama lshell, adalah untuk dapat membuat akun shell dengan akses ssh dan
membatasi lingkungan mereka untuk beberapa perintah yang diperlukan. Dalam contoh ini, Pengguna 'foo' dan
pengguna 'bar' keduanya milik grup UNIX 'pengguna':
Pengguna foo:
- harus dapat mengakses / usr dan / var tapi tidak / usr / local
- pengguna semua perintah di PATH-nya tetapi 'su'
- memiliki penghitung peringatan yang disetel ke 5
- memiliki jalur rumahnya disetel ke '/ home/users'
Pengguna batang:
- harus dapat mengakses / Etc dan / usr tapi tidak / usr / local
- diperbolehkan perintah default plus 'ping' minus 'ls'
- keketatan disetel ke 1 (artinya dia tidak diperbolehkan mengetikkan perintah yang tidak dikenal)
Dalam hal ini, file konfigurasi saya akan terlihat seperti ini:
# KONFIURASI MULAI
[global]
jalan masuk : /var/log/lkulit/
tingkat log : 2
[bawaan]
diizinkan : ['l','pwd']
terlarang : [';', '&', '|']
peringatan_counter : 2
Timer : 0
path : ['/ Etc', '/ usr']
env_path : ':/ sbin:/ usr / bin /'
scp : 1 # or 0
sftp : 1 # or 0
berlebihan : ['rsync','ls']
alias : {'l':'l --color=auto','ll':'ls -l'}
[grp:pengguna]
peringatan_counter : 5
berlebihan : - ['l']
[foo]
diizinkan : 'semua' - ['su']
path : ['/ var', '/ usr'] - ['/ usr / local']
jalur_rumah : '/rumah/pengguna'
[batang]
diizinkan : + ['ping'] - ['l']
path : - ['/ usr / local']
ketat : 1
scpforce : '/home/bar/upload/'
# KONFIURASI AKHIR
CATATAN
Untuk mencatat peringatan pengguna ke direktori logging (default /var/log/lkulit/)
Anda harus terlebih dahulu membuat folder (jika belum ada) dan membagikannya ke grup lshell:
# grup tambahan --sistem kulit
# mkdir /var/log/lkulit
# chown :kulit /var/log/lkulit
# chmod 770 /var/log/lkulit
lalu tambahkan pengguna ke kulit Kelompok:
# usermod -aG kulit user_name
Untuk mengatur lshell sebagai shell default untuk pengguna:
On Linux:
# chsh -s /usr/bin/lshell user_name
On *BSD:
# chsh -s /usr/{pkg,lokal}/bin/lshell user_name
Gunakan lshell online menggunakan layanan onworks.net