کی بازار- بهتر آن است که موقع سهیم کردن کامپیوتر خود با سایرین و دادن دسترسی sudo به آنها نحوهی استفادهشان از آن را تحت نظارت قرار دهید. خوشبختانه بررسی تاریخچهی sudo کاری ندارد. در ادامه با ما همراه شوید تا طریقهی انجام این کار را خدمتتان توضیح دهیم.
لاگ تأیید اعتبار
بسیاری از سرویسهای لینوکس لاگها را برای کمک به مشکلات عیبیابی نگه میدارد. خوشبختانه -از بین کلی موارد دیگر- نرمافزار sudo[1] همچنین فهرستی با تمام جزئیات از ریزِ اطلاعاتی که در این مقاله به دنبالش هستیم نگه میدارد. در این فهرست، شما با استفاده از sudo میتوانید چک کنید ببینید چه کسی و چه زمانی کدام فرمان را صادر کرده است. برای پیدا کردن این اطلاعات، چنانچه از توزیعی بر پایهی دبیان یا اوبونتو استفاده میکنید فرمان زیر را در ترمینال دلخواه خود وارد نمایید:
sudo nano /var/log/auth.log
در توزیعهای دیگر، ممکن است لوکیشن متفاوت باشد. این اطلاعات میتواند در var/log/secure/ یا var/log/audit/audit.log/ باشد. شما میتوانید با چک کردن فایل sudoer، لوکیشن این لاگفایل را پیدا کنید. این را هم میشود بسته به توزیع، در جاهای مختلف پیدا کرد. البته معمولاً در etc/sudoers/ قرار دارد. آن را با ویرایشگر متن مورد علاقه خود باز نموده و ورودی لاگفایل را سرچ کنید. ارزشش جایی است که فایل مورد نظرمان در آن قرار دارد؛ بنابراین فرمان بالا را با فرمان خود عوض کنید.
منطق از میان همهمه
لاگفایل شامل کلی ورودی میشود که شاید چندان هم جذاب نباشند. شما میتوانید آنقدر اسکرول کنید تا هر یک از کاربردهای sudo پیدا شود یا آنکه این کار را با استفاده از کارکرد «find» ویرایشگر متنیتان انجام دهید.
با این حال خوب است اگر از نرمافزار خط فرمان گرپ (grep) استفاده کنید. بدینترتیب، شما میتوانید بر اساس یک جستار ساده، محتواهای لاگ را فیلتر کنید. برای پیدا کردن تمامی ورودیهای sudo در آن، از فرمان زیر استفاده کنید:
sudo grep sudo /var/log/auth.log
یادتان باشد که مسیر لاگ به فراخور توزیعتان آپدیت شود.
این فرمان، نتایج را مستقیماً در ترمینال نمایش خواهد داد.
اگر ترجیح میدهید آنها را در فرمت فایل داشته باشید، چنین ریدایرکتی را بعد از فرمان به صورت زیر اضافه کنید:
sudo grep sudo /var/log/auth.log > sudolist.txt
وقتی آن را چک کنید متوجه مجموعه ورودیهایی خواهید شد که حاوی تاریخ، زمان، نام کامپیوتر و فرمان به کار بردهشده میباشد.
بش[2] نرمال
اگر به دنبال همهی فرمانهای تایپشده در ترمینال میگردید میتوانید فایل .bash_history در فولدر Home را چک کنید.
برای مثال میتوانید فرمان زیر را در ترمینال وارد کنید:
sudo nano /home/USERNAME/.bash_history
با این کار تمامی فرمانهایی که شما ( یا سایر کاربران) در ترمینال اجرا میکنید نمایش داده خواهد شد. حال که میدانید چطور میشود تاریخچه Sudo را چک کرد همچنین میتوانید پسورد آن را نیز غیرفعال کنید (البته اگر تنها کاربر پیسی هستید).
[1] نرمافزاری در خط فرمان سیستمعاملهای یونیکس و شبهیونیکس است که به کاربرها امکان میدهد تا برنامهها را با دسترسی کاربری دیگر —بدون خروج کاربر کنونی از سیستم— اجرا کنند.
[2] Bash
منبع: کی بازار (فروشگاه آنلاین نرم افزارهای اورجینال)، با دریافت انواع لایسنسهای معتبر از تامینکنندگان جهانی این امکان را برای تمام کاربران فراهم آورده است تا در چند ثانیه، از خدماتی بینالمللی لذت ببرند. در کی بازار امکان خرید لایسنسهای اورجینال نرم افزارهای کاربردی و امنیتی(ویندوز اورجینال، آفیس اورجینال، آنتی ویروس اورجینال، آنتی ویروس کسپرسکی، آنتی ویروس پادویش و آنتی ویروس نود 32) بصورت ارسال آنی فراهم آمده است.