درخواست های ارتباط
جستجو
لیست دوستان من
صندوق پیام
همه را دیدم
  • در حال دریافت لیست پیام ها
صندوق پیام
رویدادها
همه را دیدم
  • در حال دریافت لیست رویدادها
همه رویدادهای من

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

صدور مدرک تنها برای دوره هایی که به صورت کامل خریداری شده و قیمت آن ها بالای 100،000 تومان باشد انجام خواهد شد.

جشنواره تخفیف شگفت انگیز زمستانه توسینسو

تا سقف 70 درصد تخفیف + ترافیک نیم بها برای پنج خرید اول هر محصول + پشتیبانی محصولات توسط اساتید + ارائه گواهینامه پایان دوره

تخفیف های وب سایت
همه تخفیف ها

عضویت در

کانال تلگرام

توسینسو

اطلاعات مطلب
مدرس/نویسنده
امیرحسین کریم پور
امتیاز: 160754
رتبه:5
11
492
523
5192
امیرحسین کریم پور ، مدیر انجمن سخت افزار و تجهیزات دیجیتال TOSINSO ، متخصص شبکه ، تخصص در حوزه سیستم عامل های کلاینت و سرور مایکروسافت ، سیستم عامل لینوکس ، علاقه مند به حوزه امنیت اطلاعات و تست نفوذ سنجی ... پروفایل کاربر

چگونه History یا تاریخچه دستورات اجرا شده روی سیستم عامل لینوکس را پاک کنیم ؟

تاریخ 4 ماه قبل
نظرات 0
بازدیدها 86
زمانی که با سیستم عامل لینوکس کار می کنید و دستوراتی رو توی ترمینال اجرا می کنید این دستورات یک جا ذخیره میشن و شما میتونید لیست دستوراتی رو که اجرا کردید رو ببینید. اینکه تاریخچه دستورات وارد شده رو پاک کنید یا نکنید کاملا میتونه یک بحث سلیقه ای باشه یا اگه بحث سلیقه رو کنار بزاریم ممکنه کسی به لیست دستوراتی که قبلا اجرا کردید دست پیدا کنه و خرابکاری هایی روی سیستم تون بوجود بیاره پس از دیدگاه امنیتی هم میشه به این قضیه نگاه کرد. ما تو این مطلب به شما روش های مخنلف پاک کردن تاریخچه دستورات اجرا شده روی لینوکس رو آموزش میدیم.

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

برای پاک کردن تاریخچه دستورات یکی از دو دستور زیر رو باید اجرا کنید :

$ history -c
$ history -cw

حالا یه کار جالب تر میتوان انجام داد و آن هم این است که زمانی که یک دستور رو اجرا می کنیم آن دستور در خروجی دستور history ظاهر نشود برای این کار ابتدا باید دستور زیر را اجرا کنید تا متغیر محیطی یا همان Environment Variable ای به نام HISTCONTROL با مقدار ignorespace را به لیست متغیر های محیطی اضافه کنیم :

# export HISTCONTROL=ignorespace

حالا کافیست قبل از اینکه دستوری رو اجرا کنیم یک خط فاصله (Space) در ابتدای دستور وارد کنیم ، برای مثال :

<space>sudo ping tosinso.com

اگر دستور فوق را اجرا کنید این دستور را در خروجی دستور history مشاهده نمی کنید و جالب تر اینکه زمانی کلید های Uppercase و Lowercase را بزنید نیز دستور وارد شده را مشاهده نخواید کرد.

حالا اگر بخواهید دستورات خاصی را از خروجی دستور history پاک کنید کافیست سوئیچ d را بهمراه شماره دستور وارد کنید :

$ history -d 5

در این مثال عدد 5 پنجمین دستور وارد شده است. اگر دستور history را اجرا کنید مشاهده خواهید کرد که دستورات وارد شده را عدد گزاری کرده است.

ممکن است شما بخواهید که زمانی که از سیستم Logout کردید history دستورات اجرا شده پاک شود. برای اینکار فایل bashrc. یوزر مورد نظر را ویرایش کنید و خط زیر را به فایل اضافه کنید :

unset HISTFILE

فایل را ذخیره کنید و از آن خارج شوید. حالا Logout کنید و دوباره دستور history را اجرا کنید خواهید دید که history پاک شده و دستوری بغیر از آخرین دستور که history است نمایش داده نمی شود.

یکی از مشکلاتی که روش های بالا در خودشان دارند این است که اگر دستور بخصوصی را از لیست history دستورات پاک کنید و در عین حال ترمینال (Session) های دیگری نیز باز کرده باشید دستورات در همان Session اجرا خواهند شد و به Session های دیگر تاثیری نخواهند داشت. این کار ممکن است به ضررتان تمام شود زیرا ممکن است دستور پاک کردن history را در ترمینالی اجرا کنید که دستورات مهمی را وارد نکرده اید و این کار امنیت سیستم تان را به خطر می اندازد. پس چاره کار این است که همه دستورات اجرا شده را از روی تمامی Session هایتان پاک کنید برای انجام این کار اگر به ساختار سیستم عامل لینوکس وارد هستید قطعا میدانید که در پوشه کاربری هر یوزر یک فایل به نام bash_history. وجود دارد که تاریخچه دستورات اجرا شده توسط آن یوزر را در خود ذخیره می کند که باید محتویات آنرا پاک کنید. برای پاک کردن این محتویات باید دستور زیر را اجرا کنید :

$ cat /dev/null > ~/.bash_history

اجرای این دستور بصورت دستی ممکن است کمی خسته کننده باشد از این رو می توانید با استفاده از ساختار cron job این کار را بصورت اتوماتیک توسط خود سیستم انجام بدهید. ابتدا دستور زیر را اجرا کنید تا فایل crontab یوزر مورد نظر باز شود :

$ crontab -e

حالا در این فایل دستورات زیر را وارد کنید :

00 20 * * * cat /dev/null > ~/.bash_history

حالا فایل را ذخیره کنید. این cron job هر روز ساعت 8 شب اجرا خواهد شد و کاری که انجام می دهد این است که فایل bash_history. یوزر را خالی می کند.


نویسنده : امیرحسین کریم پور
منبع : linux.tosinso.com
هرگونه نشر و کپی برداری بدون ذکر منبع و نام نویسنده دارای اشکال اخلاقی می باشد
برچسب ها
مطالب مرتبط

در حال دریافت اطلاعات

نظرات
هیچ نظری ارسال نشده است

    برای ارسال نظر ابتدا به سایت وارد شوید