بخوناطلاعات خوب و زیادی را میتوان از proc/ در لینوکس بیرون کشید، اما proc/ تنها برای دریافت اطلاعات سیستمی و تبدیل آنها به شکل متنی نیست.
میتوان از این دایرکتوری مفید برای قراردادن اطلاعات در سیستم یا تغییر آنها استفاده کرد. دایرکتوری sys/ که اطلاعات متغیرهای هسته سیستم در آن نگهداری میشود، پردسترسترین نقطه برای تغییر اطلاعات است. تغییراتی که در اینجا انجام میشود، فورا و بدون نیاز به راهاندازی مجدد سیستم موثر خواهند بود. این یعنی بهشت واقعی برای مدیران سیستم! توجه داشته باشید که برای انجام این تغییرات نیاز به دسترسی ریشه دارید.
تغییرات شبکه
مسیر proc/sys/net/ipv4/ شامل مقادیر مرتبط با شبکه است که میتوان با آنها سرگرم شد. مسیر proc/sys/net/ipv4/tcp_keepalive_time/ مشخص میکند که در مقیاس ثانیه، چه میزان طول بکشد تا روتین TCP مرتبط نخستین بسته keepalive را ارسال کند. پیغام keepalive تنها مسوولیت تشخیص زنده بودن و سالم بودن سمت دیگر اتصال را به عهده دارد، در صورتی که سمت دیگر پاسخی به این بسته ارسال نکرد، اتصال با آن طرف قطع خواهد شد. هر چند میزان پیشفرض اتصال 7200 ثانیه (2 ساعت) است، اما اگر سشن ارسالی شما در این مدت احتمال منقضی شدن دارد، بهتر است این مقدار را به عددی کمتر تغییر داده تا بسته keepalive سریعتر ارسال شود و اگر سمت دیگر در دسترس نبود، اتصال را سریعتر قطع و منابع شبکه را آزاد کند. تنظیم این عدد به 120 ثانیه باعث میشود بعد از 2 دقیقه، پیغام keepalive ارسال شود. دستور زیر این مقدار را به 120 تغییر میدهد:
echo 120 » /proc/sys/net/ipv4/tcp_keepalive_time
بعد از نخستین بسته ارسالی keepalive، زمان بین بستههای ارسالی keepalive بعدی 75 ثانیه تنظیم شده است. برای تغییر این موضوع نیز میتوان متغیر proc/sys/net/ipv4/tcp_keepalive_intvl/را تغییر داد. (توجه داشته باشید که کوتاهکردن زمان keepalive، ترافیک شبکه را افزایش خواهد داد، هر چند این بستهها بسیار کوچک هستند و تفاوت چشمگیر نخواهد بود.) یکی دیگر از مقادیر مفید proc/sys/net/ipv4/tcp_keepalive_probes/ است که نشان میدهد چند کاوشگر keepalive اگر به مقصد نرسند، اتصال غیرمفید خوانده شده و قطع میشود.
به صورت پیشفرض این مقدار روی عدد 9 قرار داده شده که در صورتی که شبکه با مشکل مواجه است یا موقتا در حال تعمیر است، این میزان را میتوان به عددی بیشتر تغییر داد تا اتصالها از بین نروند و میزان تراکنشهای نیمه کاره زیاد نشود. این عمل با دستور زیر انجام میشود:
echo 15 » /proc/sys/net/ipv4/tcp_keepalive_probes
برای تغییرات در proc/ بهتر است از echo بهجای ویرایشگر متنی استفاده شود. اگر فایل را در ویرایشگر متنی باز کنید، کرنل سیستم بهطور مداوم از آن استفاده میکند، حتی هنگامی که در حال ویرایش آن هستید. از این رو ممکن است هسته سیستم با عدم دسترسی صحیح به فایل، از کار بیفتد.
برای جلوگیری از این موضوع، بهتر است از echo برای ویرایش این نوع فایلها و cat برای مشاهده داخل آن استفاده کرد. یک فایل مفید دیگر، فایل proc/sys/net/ipv4/ip_forward/ است که بهکمک آن میتوان انتقال IP را انجام داد. در بیشتر شبکهها از انتقال IP استفاده نمیشود، اما در برخی کاربردها مثل ایجاد VPN یا سرورهای دریافت تماس، این امر میتواند مفید باشد. (دقت داشته باشید که انتقال نامحدود IP یک خطر امنیتی است!) میتوان این مقدار را به یک برای فعال کردن و صفر برای غیرفعال کردن تغییر داد:
echo 1 » /proc/sys/net/ipv4/ip_forward
در ادامه نیز چند مقدار دیگر را بررسی میکنیم که کارکردن با آنها تجربه جالبی است:
تغیـــیر proc/sys/fs/file-max/ تعــــداد filehandleهای در دسترس سیستم را مشخص میکند. این مقدار در صورتی که به حداکثر خود برسد، پیغام خطا صادر میکند، چرا که تعیین میکند چه تعداد فایلی در سیستم میتواند باز بماند. بعد از این که این مقدار به حداکثر برسد، دیگر نمیتوان فایل جدیدی باز کرد.
عدد پیشفرض آن 4096 است، اما میتوان از هر عدد دیگری نیز استفاده کرد. (احتمالا بهترین کاربرد این مقدار، کاستن و کم کردن آن برای کاربران است). میتوان همین کار را برای inodeها نیز انجام داد که در مسیر proc/sys/fs/inode-max/ قرار دارند. هرچند تعداد کلی inodeهای در دسترس سیستم را نمیتوان بهاین طریق تغییر داد.
همچنین میتوان برای کلیدهای ترکیبی Ctrl+Alt+Delete یک پاسخ ایجاد کرد که در مسیر proc/sys/kernel/ctrl-alt-del/ قرار دارد. تغییر این میزان به یک باعث میشود سیستم خاموش شود (انگار که دستور shutdown–h را وارد کرده باشید) و تغییر آن به صفر، خاموشی فوری سیستم را به دنبال خواهد داشت (انگار که دکمه سختافزاری خاموشی سیستم را زده باشید) به نظر میرسد که عدد یک مقدار امنتری باشد، زیرا همواره میتوان از دکمه فیزیکی خاموشی سیستم استفاده کرد.
همچنین میتوان برای تشخیص hostname شبکه، مقدار proc/sys/kernel/hostname/ را تغییر داد. بهتر است در صورتی که از DHCP استفاده میکنید، مواظب این مقدار باشید، چون ممکن است با این سرویس تداخل پیدا کند.
اگر روی سرور NFS خود با مشکل سرریزشدن مواجه شدهاید، میتوانید میزان صف حافظه سرور را با تغییر مقادیر rmem_default، rmem_max، wmem_default و wmem_max که در مسیر /proc/sys/net/core/ قرار دارند، تغییر دهید. عدد 262114 (256 کیلوبایت) را به عنوان شروع تعیین کنید، اگر باز هم مشکل داشتید، این مقدار را بیشتر کنید.اگر باز هم در مسیر /proc/sys/ بگردیم، باز هم میتوان فایلهای دیگری را پیدا کرد که برای تغییرات سیستمی مفید باشند.
به طور کلی اگر یک فایل قابلیت نوشتن داشته باشد، پس میتوان آن را تغییر داد، اما باید توجه کرد در صورتی که بدون راهنما مشغول به این کار شوید، ممکن است سیستم خود را از کار بیندازید! خبر خوب این است که تغییرات اینچنینی تنها تا زمانی معتبر هستند که سیستم را مجددا راهاندازی کنید؛ برای دائمی کردن تغییرات باید از sysctl و etc/sysctl.conf/ استفاده کرد.
با تایپ دستور sysctl –a | less میتوان نگاهی به فهرست پارامترهای این دستور انداخت. کارکردن با تنظیمات موجود در /proc/sys/ روش مفیدی برای آزمون و خطا قبل از اعمال تغییرات نهایی است.
اطلاعات بیشتر
اطلاعات زیادی در دایرکتوری proc قرار دارد که فرصت بررسی همه آنها پیش نیامد. برای پیشبرد این مبحث بهتر است با کمک صفحه راهنما، به کشف دایرکتوری proc/ و قابلیتهای جالب تنظیم سیستم بپردازید.
متاسفانه مستندسازی proc/ همه بخشهای این دایرکتوری را بخوبی پوشش نداده و در برخی موارد مستندسازی انجام نشده است. در نهایت، در صورتی که راهنمای کافی را یافت نکردید، بهتر است سری به موتورهای جستجو و بخصوص گوگل بزنید.
استفاده از نرمافزار به عنوان مغز کوچک
به جای به خاطر سپردن ردیف طولانی کلمات عبور، راهحل درست و محبوب، استفاده از یک ابزار ذخیره کلمه عبور است. در حقیقت این ابزارها برای کاربران فعال اینترنت به یک الزام بدل شدهاند، چراکه میتوانند به سادگی، تمام کلمات عبور شما را مدیریت، بازیابی و تامین امنیت کنند.
کلمات عبور در فایلهای رمزگذاری شده قرار گرفتهاند و خود آنها توسط یک کلمه عبور اصلی (Master) محافظت میشوند، به این ترتیب کاربر تنها نیاز به خاطر سپردن یک کلمه عبور دارد و میتواند برای تکتک سرویسهای خود کلمات عبوری قدرتمند و غیرقابل نفوذ ایجاد کند.