منبع اصلی نوشتار زیر در این لینک قرار دارد

Logout خودکار از Bash در لینوکس

وقتی به لینوکس چه از طریق ssh یا بصورت محلی وارد می شوید یک Shell به شما داده می شود. در اصطلاح Session می گویند. اگر با کاربر root یا کاربری که دارای مجوز های مدیریتی به سیستم Login کرده باشید و مدتی پشت سیستم نباشید و Session بی کار مانده باشد امان دسترسی کاربران غیر مجاز از طریق Session باشد. متغیر TMOUT زمان timeout شدن خودکار Session ها را تعیین می کند. برای اعمال Logout خودکار برای تمامی کاربران باید فایل autologout.sh را زیر دایرکتوری etc/profile.d/ ایجاد کنید.

vi /etc/profile.d/autologou.sh

و سپس دستور زیر را در آن وارد کنید

TMOUT=600

readonly TMOUT

export TMOUT

خط بالا متغیری readonly به نام TMOUT را با مقدار 600 که معادل 10 دقیقه است، تعریف می کند. سپس با دستور زیر مجوز اجرایی را به اسکریپت ایجاد شده بدهید

chmod +x /etc/profile.d/autologout.sh

bash یا sh پوسته پیش فرض سیستم عامل لینوکس است اما شاید از پوسته csh استفاده کند، همچنین سیستم عامل FreeBSD نیز از csh بطور پیش فرض استفاده می کند پس باید رویه بالا، یعنی ایجاد یک فایل زیر داریکتوری profile.d وسپس تعریف متغیر و اهدای مجوز به فایل را برای Session های ایجاد شده از پوسته csh تعریف کنید با این تفاوت که پسوند فایل csh خواهد بود.

vi /etc/profile.d/autologout.csh

و سپس خط زیر را در آن قرار دهید.

set -r autologout 10

دستور بالا متغیری به نام autologout با مقداری معادل 10 دقیقه از نوع readonly تعریف می کند. و در نهایت مجوز اجرایی را به فایل بدهید.

chmod +x /etc/profile.d/autologout.csh

دو تفاوت : توجه کنید که این تنظیمات در سیستم عامل لینوکس انجام شده است،

  1. متغیر TMOUT در پوسته bash و متغیر autologout در پوسته csh
  2. export در bash و set در csh و readonly در bash و r- در csh

هر دوی متغیر ها از نوع متغیر های محیطی بوده و باید به بزرگی و کوچکی حروف دقت کنید.



برچسب ها : , , , , ,