متخصص های امنیت همواره tmp را یکی از قسمت های آسیب پذیر لینوکس معرفی کرده و توصیه نموده اند تا این دایرکتوری را امن کنیم، چون ما هم دوست داریم که هیچ نقطه آسیب پذیری روی سرور لینوکسی مان نداشته باشیم از روش های مختلف برای امن کردن این دایرکتوری استفاده می کنیم، اما بهترین روش برای امن کردن این دایرکتوری چی است ؟ (پاسخ : خدا می داند و بس) امروز در این نوشته قصد داریم که به یکی از این روش ها بپردازیم
ابتدا یک درایو مجازی با دستور dd ایجاد می کنیم
# dd if=/dev/zero of=/var/tmpFS bs=10240 count=100000
دستور بالا یک درایو مجازی با حجم یک گیگ ایجاد خواهد، حالا اگر بخواهید فضای بیشتری اختصاص دهیم باید مقدار count را به صورت زیر تغییر دهیم
1 G => count=1000002 G => count=2000003 G => count=300000x G => count=x00000
پس از این که درایو مورد نظر را ایجاد کردیم باید آن را فرمت کنیم
# mkfs.ext4 /var/tmpFS
با اجرای دستور بالا یک سوال پرسیده می شود (?Proceed anyway) که جواب را y وارد می کنیم
بعد از فرمت درایو مجازی، tmp را تغییر نام می دهیم و symlink آن را var/ خذف می کنیم
# mv -v /tmp /tmpbak# rm -rfv /var/tmp
بعدش دایرکتوری جدید tmp را ایجاد می کنیم و درایو مجازی ایجاد شده را در آن مانت می کنیم
# mkdir /tmp# mount -o loop,noexec,nosuid,rw /var/tmpFS /tmp
سپس سطح دسترسی آن را به ۱۷۷۷ تغییر می دهیم
# chmod 1777 /tmp
حالا یک symlink برای tmp در var/ ایجاد می کنیم
# cd /var && ln -s /tmp
محتوای tmp قبلی را که در tmpbak بود را به tmp جدید انتقال می دهیم و tmpbak را پاک می کنیم
# mv -v /tmpbak/* /tmp && rm -rf /tmpbak
همه مراحل را انجام داده ایم و فقط مانده تا فایل fstab را ویرایش کنیم و خط زیر را به آن اضافه می کنیم که همیشه موقع بوت سیستم، /var/tmpFS به صورت خودکار در /tmp مانت شود
# nano /etc/fstab/var/tmpFS /tmp ext4 loop,nosuid,noexec,rw 0 0