Cara Mengehadkan Akses SSH Untuk Pengguna dengan Lshell (Limited Shell)
- 2521
- 8
- Chris Little I
Lshell atau Limited Shell ditulis dalam python untuk mengehadkan pengguna untuk set arahan dan direktori tertentu. Anda boleh membuat persekitaran pengguna dengan akses terhad, anda juga boleh mengaktifkan arahan melumpuhkan akses SSH.
Pasang shell terhad
Gunakan arahan berikut untuk memasang pakej lshell pada sistem berasaskan debian anda. Untuk sistem pengendalian lain, anda perlu Google untuk pakej Lshell untuk pengedaran anda.
$ sudo apt-get memasang lshell
Tukar pengguna ke lshell
Sekarang tetapkan lshell sebagai shell lalai untuk pengguna yang anda perlukan. Contohnya untuk menukar cangkang pengguna Sarah.
$ sudo chsh sarah menukar shell login untuk Sarah Masukkan nilai baru, atau tekan Enter untuk shell masuk lalai [/bin/lshell]:/usr/bin/lshell
Anda juga boleh menetapkan Lshell sebagai shell lalai untuk pengguna semasa penciptaan akaun pengguna seperti berikut.
$ sudo adduser --shell/usr/bin/lshell raj
Konfigurasikan Lshell
Sekarang mulakan dengan konfigurasi lshell. Edit fail konfigurasi lshell /etc/lshell.Conf. Terdapat 4 bahagian asas dalam fail konfigurasi.
- [Global]: Dalam bahagian ini kita mentakrifkan tetapan yang digunakan secara global. Contohnya log.
- [lalai]: Dalam bahagian ini, kami menetapkan nilai lalai yang menggunakan semua pengguna dan kumpulan. Tetapan bahagian ini dapat ditindih dengan tetapan khusus pengguna dan kumpulan.
- [Nama Pengguna]: Dalam bahagian ini, kami menentukan tetapan khusus pengguna. Tetapan seksyen ini hanya digunakan untuk pengguna
- [GRP: GroupName]: Dalam seksyen ini, kami menentukan tetapan khusus kumpulan. Tetapan bahagian ini digunakan untuk semua pengguna kumpulan
A [lalai] Profil digunakan untuk semua pengguna menggunakan lshell. Anda boleh buat [Nama Pengguna] seksyen atau kumpulan [GRP: GroupName] seksyen untuk menyesuaikan pengguna dan pilihan khusus kumpulan.
Perintah keutamaan adalah Pengguna >> Kumpulan >> Lalai. Bahagian Pengguna mempunyai keutamaan dan lalai tertinggi mempunyai keutamaan terendah.
[Global] LogPath:/var/log/lshell/loglevel: 2 [lalai] dibenarkan: ['ls', 'pwd', 'cd', 'kucing', 'cp'] dilarang: [';', '&', '|', ',' ','<', '$(', '$'] sudo_commands : ['ls', 'more'] warning_counter : 2 aliases : 'll':'ls -l', 'vim':'rvim' prompt : "%[email protected]%h" timer : 0 path : ['/home', '/usr'] env_path : ':/usr/bin/usr/local/bin' env_vars : 'foo':1, 'bar':'helloworld' scp : 1 # or 0 sftp : 1 # or 0 overssh : ['rsync','ls'] strict : 0 history_file : "/home/%u/.lshell_history" [GRP: roda] Warning_counter: 5 overssh: - ['ls'] [Raj] dibenarkan: 'semua' - ['su', 'rm', 'mv'] Path: ['/etc', '/usr'] - ['/usr/local'] home_path: '/home/raj' [Sarah] dibenarkan: + ['ping'] - ['ls'] path: - ['/usr/local'] ketat: 1 scpforce: '/home/sarah/muat naik/'
Sebagai contoh pengguna 'RJA' dan pengguna 'Sarah' kedua -duanya tergolong dalam kumpulan 'roda' Unix:
Roda Kumpulan:
- Pengguna kumpulan roda mempunyai kaunter amaran yang ditetapkan hingga 5
- Pengguna kumpulan roda tidak dibenarkan arahan 'ls'.
Pengguna Raj:
- Boleh mengakses /etc dan /var tetapi tidak /usr /tempatan
- Boleh mengakses semua arahan dalam perintah eksekutif jalannya - Su, RM, VM
- mempunyai kaunter amaran yang ditetapkan kepada 5 [lalai]
- Adakah jalan rumahnya ditetapkan ke '/rumah/raj'
Pengguna Sarah:
- Boleh mengakses /rumah dan /usr tetapi tidak /usr /tempatan
- dibenarkan arahan lalai 'ping' tetapi tidak 'ls'
- ketat ditetapkan kepada 1 (dia tidak dibenarkan menaip perintah yang tidak diketahui)
Nama pilihan | Penjelasan |
---|---|
LogPath | direktori log (lalai/var/log/lshell/) |
Loglevel | Tetapkan tahap log ke 0, 1, 2, 3 atau 4 (0: tiada log, 1: paling tidak verbose, 4: log semua arahan) |
logfilename | Konfigurasikan nama fail log (lalai adalah %u i.e. nama pengguna.log) |
dibenarkan | Senarai arahan yang dibenarkan atau 'semua' untuk membenarkan semua arahan di laluan pengguna |
dilarang | Senarai watak atau arahan terlarang - menafikan Vim, kerana ia membolehkan untuk melarikan diri dari Lshell |
sudo_commands | Senarai arahan yang dibenarkan untuk digunakan dengan sudo (8) |
Amaran_counter | Bilangan amaran apabila pengguna memasuki nilai terlarang sebelum keluar dari Lshell, ditetapkan ke -1 untuk melumpuhkan. |
alias | Senarai Perintah Aliases (serupa dengan Arahan Alias Bash) |
Pengenalan | Pengenalan Teks ke Cetak (semasa memasuki Lshell) |
segera | Konfigurasikan promt anda menggunakan %u atau %h (lalai: nama pengguna) |
prompt_short | Tetapkan Kemas Kini Direktori Semasa Susun Prompt (Lalai: 0) |
pemasa | nilai dalam beberapa saat untuk pemasa sesi |
jalan | Senarai jalan untuk menyekat pengguna "Geografi" |
home_path | Tetapkan folder rumah pengguna anda |
env_path | Tetapkan pembolehubah persekitaran $ Path pengguna |
dibenarkan_cmd_path | senarai jalan; Semua fail yang boleh dilaksanakan di dalam jalan ini akan dibenarkan |
env_vars | Tambah pembolehubah persekitaran |
SCP | Benarkan atau melarang penggunaan SCP (ditetapkan ke 1 atau 0) |
scp_upload | melarang muat naik SCP |
scp_download | Melarang muat turun SCP |
sftp | Benarkan melarang penggunaan SFTP (ditetapkan ke 1 atau 0) |
overssh | Senarai arahan yang dibenarkan untuk melaksanakan melalui SSH |
ketat | ketat pembalakan. 1 untuk mana -mana perintah yang tidak diketahui dianggap sebagai dilarang dan 0 tidak diketahui |
SCPFORCE | memaksa fail yang dihantar melalui SCP ke direktori tertentu |
Sejarah_size | Saiz maksimum fail sejarah |
SEJARAH_FILE | Tetapkan nama fail sejarah (lalai adalah/rumah/%u/.lhistory) |
Login_script | Tentukan skrip untuk dijalankan di log masuk pengguna |
- « Cara Meningkatkan ke Fedora 23 dari Fedora 22 Menggunakan DNF
- Klien authz_coreerror ditolak oleh konfigurasi pelayan »