بازدیدها: ۱۶۷

بعضاً اتفاق می‌افتد که قبل از خروج از ترمینال نیاز به اجرای دستوراتی داشته باشیم که با بستن محیط ترمینال بدون نیاز به اجرای دستی، دستور مورد نظرمان اجرا شود. به عنوان مثال ذخیره کردن history و آرشیو نمودن آن در مکان مناسب از جمله نیازهای یک سیستم حاوی اطلاعات حساس است که توسط مدیر و ناظر امنیت مورد بررسی روزانه قرار می‌گیرد. به همین منظور ابتدا در پوشه‌ی خانگی کاربر وارد شده به سیستم فایلی به نام bash_logout. ایجاد می‌کنیم و دستور مورد نظر خود را در آن اضافه می‌کنیم، پس به صورت زیر عمل خواهیم کرد:

mkdir ~/.historydata

nano ~/.bash_logout$

history | cat > ~/.historydata/.history_archived-`date +%F-%T`.log

با اجرای دستورات فوق در هر زمان که از صفحه‌ی ترمینال خارج شویم دستورات وارد شده در آن ترمینال در مسیر مشخص شده با نامی به فرمت تاریخ و ساعت فعلی سیستم ذخیره خواهد شد.

این دستور تنها نمونه‌ای از انواع دستورات مورد نیاز یک مدیر و ناظر امنیت سیستم است و می‌توان دستورات یا کدهای اسکریپت مختلفی را قبل از خروج از ترمینال، به صورت خودکار اجرا نمود.

البته ذکر این نکته ضروری است که استفاده از این قابلیت می‌تواند با مشکل امنیتی خاصی نیز همراه باشد. در صورت بروز خطا در اجرای اسکریپت تعریف شده در فایل bash_logout یا اجرای اسکریپت‌های بزرگ که زمان زیادی برای اجرای آن مورد نیاز است، امکان کنترل دسترسی کاربر غیرمجاز به پوسته‌ی حساب کاربری با kill نمودن اجرای اسکریپت میسر گردد. بنابراین پیشنهاد می‌شود تا زمان اجرای کامل اسکریپت ( در صورتی ‌که نیاز به تعامل داشته باشد یا زمان اجرای آن طولانی باشد ) و مشاهده‌ی خط اعلان فرمان یا خروج کامل ترمینال، منتظر بمانید و پس از آن سیستم را ترک نمایید.