قفل کردن Shell یا محیط ترمینال

معمولا در سیستم عامل هایی مانند Unix اکثر کار ها با محیط متنی یا Shell یا ترمینال انجام می شود و این در مورد Server ها حتمی است . بسیاری از کاربران محیط ترمینال یا متنی را به محیط گرافیکی ترجیح می دهند و از آن استفاده می کنند .

فرض می کنیم می خواهیم سیستم خود را برای مدتی محدودی مثلابرای نوشیدن یک نوشیدنی داغ مانند قهوه ترک کنیم .خوب دوست نداریم که دیگران از ترمینال یا محیط متنی من استفاده کنند یا دخترم کوچک با دستکاری کیبرد باعت تایپ یکسری دستور بیخود شود . یک را ه این است که از این محیط متنی خارج شده و دستور exit را اجرا کنم . وقتی برگشتم دوباره  login کنم .

یک راه دیگر این است که از دستور lock استفاده کنم . با اجرای این دستور محیط متنی برای مدت زمان خاصی که به صورت پیش فرض ۱۵ دقیقه می باشد قفل می شود وبرای باز کردن آن به تایپ کلمه عبور احتیاج داریم .

اگر برای اولین بار این دستور را در ترمینال اجرا کنیم . خروجی زیر را خواهیم دید.

$ lock
Key:
Again:

در خروجی بالا از ما می خواهد که یک کلمه عبور تعریف کنیم و سپس این کلمه را دوباره تکرا ر کنیم . بعد از تایپ کلمه عبور پیغام زیر را خواهید دید:


lock: /dev/ttyp0 on liljon.bsdguides.org. timeout in 15 minutes.
 time now is Sun Oct 10 13:24:21 MST 2010
 Key:

می بینیم که محیط متنی ما قفل شده است آ ن هم برای ۱۵ دقیقه و بعد از این مدت از این حالت خارج می شود .

خوب اگر بخواهیم این محدودیت زمانی را برداریم . باید دستور lock  را با option های  n    و   p  به کار ببریم به صورت زیر :

$ lock -np
 lock: /dev/ttyp0 on liljon.bsdguides.org. no timeout.
 time now is Sun Oct 10 13:28:16 MST 2010
 Key:

می بینیم که تاریخ یا زمان انقضا برای unlock شدن تعیین نشده است .

یک راه دیگر در FreeBSD این است که با استفاده از port ها  package یا برنامه ای به نام vlock را نصب کنیم . برای این نصب این package مراحل زیر را  طی می کنیم .

# cd /usr/ports/security/vlock
# make install clean

بعد از مدتی این برنامه نصب می شود . برای استفاده از این برنامه کافی است در ترمینال دستور vlock را تایپ کنیم . ترمینال قفل می شود و برای unlock شدن کلمه عبور یوزری که این دستور را اجرا کرده است می خواهد.

خروجی این دستور به شکل زیر معمولا است :

# vlock
 *** This tty is not a VC (virtual console). ***
 *** It may not be securely locked. ***
 
 This TTY is now locked.
 Please enter the password to unlock.
 mfaridi's Password:

اگر دویت دارید به جای lock که با سیستم عامل نصب می شود از vlock استفاده کنید و به جای تایپ vlock از lock استفاده کنید . در ترمینال دستور های زیر را  تایپ می کنید :

# mv /usr/bin/lock /usr/bin/lock.old

با دستور بالا دستور lock را به lock.old تبدیل کردیم که بوسیله سیستم دیگر قابل خواند نیست .

# ln -s /usr/local/bin/vlock /usr/bin/lock

با دستور بالا بک لینک برای vlock درست کردیم تا با تایپ lock اجرا گردد . حالا کافی است در ترمینال تایپ کنم lock محیط متنی lock می شود و برای داخل شدن کلمه عبور یوزر را می خواهد.