Mari bayangkan senario sedemikian. Anda mempunyai pelayan yang kerap diakses oleh ramai pengguna daripada pelbagai sistem pada rangkaian. Ada kemungkinan bahawa sesetengah pengguna terlupa untuk log keluar daripada sesi meninggalkan sesi terbuka. Kita semua tahu betapa bahayanya membiarkan sesi pengguna disambungkan. Sesetengah pengguna mungkin menggunakan ini untuk sengaja melakukan perkara yang merosakkan sistem. Dan anda, sebagai pentadbir sistem, adakah anda akan pergi ke setiap sistem untuk menyemak sama ada pengguna telah log keluar? Malah, ini sama sekali tidak perlu. Dan jika terdapat ratusan atau ribuan mesin dalam rangkaian, ini terlalu memakan masa. Walau bagaimanapun, anda boleh meminta pengguna log keluar secara automatik jika mereka tidak aktif pada mesin atau sesi SSH untuk tempoh masa tertentu. Tutorial ini akan mengajar anda cara melakukan ini pada sistem seperti Unix. Tak susah pun. Lakukan dengan saya.
Melaksanakan log keluar automatik pengguna tidak aktif selepas tempoh masa di Linux
Terdapat tiga cara untuk mencapai ini. Mari kita lihat kaedah pertama dahulu.
Kaedah 1:
Edit fail ~/.bashrc atau ~/.bash_profile:
$ vi ~/.bashrc
atau,
$ vi ~/.bash_profile
Tambah baris berikut padanya:
TMOUT=100
Ini akan log keluar pengguna secara automatik selepas 100 saat tidak aktif. Anda boleh menentukan nilai ini mengikut keperluan. Simpan dan tutup fail.
Jalankan arahan berikut untuk perubahan berkuat kuasa:
$ source ~/.bashrc
atau,
$ source ~/.bash_profile
Sekarang biarkan sesi melahu selama 100 saat. Selepas 100 saat tidak aktif, anda akan melihat mesej di bawah dan pengguna akan log keluar secara automatik daripada sesi.
timed out waiting for input: auto-logout Connection to 192.168.43.2 closed.
Tetapan ini boleh diubah suai dengan mudah oleh pengguna. Kerana fail ~/.bashrc dimiliki oleh pengguna itu sendiri.
Untuk mengubah suai atau memadam tetapan tamat masa, hanya padamkan baris yang ditambahkan di atas dan laksanakan arahan sumber ~/.bashrc untuk pengubahsuaian berkuat kuasa.
Selain itu, pengguna juga boleh menjalankan arahan berikut untuk melumpuhkan tamat masa:
$ export TMOUT=0
atau,
$ unset TMOUT
Jika anda ingin menghalang pengguna daripada mengubah suai tetapan ini, gunakan kaedah berikut.
Kaedah 2:
Log masuk sebagai pengguna root.
Buat fail baharu yang dipanggil autologout.sh.
# vi /etc/profile.d/autologout.sh
Tambah yang berikut:
TMOUT=100 readonly TMOUT export TMOUT
Simpan dan keluar fail.
Tambahkan kebenaran boleh laku padanya:
# chmod +x /etc/profile.d/autologout.sh
Sekarang, log keluar atau mulakan semula sistem. Pengguna yang tidak aktif akan dilog keluar secara automatik selepas 100 saat. Pengguna biasa tidak boleh mengubah suai konfigurasi ini walaupun mereka mahu mengekalkan sambungan sesi. Mereka akan memaksa berhenti selepas 100 saat.
Kedua-dua kaedah berfungsi untuk kedua-dua sesi tempatan dan jauh (iaitu pengguna log masuk secara tempatan dan pengguna log masuk melalui SSH pada sistem jauh). Mari kita lihat cara untuk log keluar secara automatik hanya sesi SSH yang tidak aktif tanpa log keluar secara automatik daripada sesi tempatan.
Kaedah 3:
Dengan cara ini, kami hanya akan mempunyai pengguna sesi SSH log keluar secara automatik selepas tempoh tidak aktif.
Edit fail /etc/ssh/sshd_config:
$ sudo vi /etc/ssh/sshd_config
Tambah/ubah suai baris berikut:
ClientAliveInterval 100 ClientAliveCountMax 0
Simpan dan keluar fail. Mulakan semula perkhidmatan sshd untuk perubahan berkuat kuasa.
$ sudo systemctl restart sshd
Sekarang, log masuk ke sistem jauh melalui ssh. Selepas 100 saat, sesi ssh akan ditutup secara automatik dan anda akan melihat mesej berikut:
$ Connection to 192.168.43.2 closed by remote host. Connection to 192.168.43.2 closed.
Kini, sesiapa yang log masuk ke sistem ini melalui SSH daripada sistem jauh akan log keluar secara automatik selepas 100 saat tidak aktif.
Atas ialah kandungan terperinci Memperkenalkan kaedah log keluar automatik pada Linux untuk mengelakkan ketidakaktifan pengguna dalam tempoh yang lama. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!