После покупки/аренды сервера с установленной операционной системой как правило можно обнаружить что директория /tmp никак не защищена. Можно искать уязвимости, заливать в /tmp rootkit и пользоваться им как душа пожелает. Давайте попробуем исправить эту ситуацию.
Для начала создадим файл который будем использовать для монтирования /tmp.
cd /dev
Создайте файл размером 100Мб для директории /tmp, если Вам нужен темп большего объема, создайте с таким размером, который Вам нужен
dd if=/dev/zero of=tmpMnt bs=1024 count=100000
Сделаем extended filesystem для tmpMnt файла.
mke2fs /dev/tmpMnt
Сделайте резервную копию /tmp например файл mysql.sock для которого необходимо сделать новую символическую ссылку. Некоторые программы могут хранить в темпе свой кэш и данные.
cd / cp -R /tmp /tmp_backup
Примонтируем новый /tmp с опцией noexec
mount -o loop,noexec,nosuid,rw /dev/tmpMnt /tmp chmod 0777 /tmp
Скопируем файлы из резервной копии темпа с созданный темп, а резервный удалим
cp -R /tmp_backup/* /tmp/ rm -rf /tmp_backup
Теперь пропишем новый /tmp в fstab чтобы /tmp монтировался автоматически при перезагрузке.
/dev/hda3 / ext3 defaults,usrquota 1 1 /dev/hda1 /boot ext3 defaults 1 2 none /dev/pts devpts gid=5,mode=620 0 0 none /proc proc defaults 0 0 none /dev/shm tmpfs defaults 0 0 /dev/hda2 swap swap defaults 0 0
Добавим строку
/dev/tmpMnt /tmp ext2 loop,noexec,nosuid,rw 0 0