Безопасность и оптимизация Linux.Редакция для Red Hat

       

Компиляция и оптимизация.


Перейдите в новый IMAP/POP каталог и введите следующие команды на вашем терминале:

Шаг 1

Редактируйте файл Makefile (vi +719 src/osdep/unix/Makefile) и измените следующую строку:

sh -c '(test -f /usr/include/sys/statvfs.h -a $(OS) != sc5 -a $(OS) != sco) && $(LN) flocksun.c flockbsd.c $(LN) flocksv4.c flockbsd.c'

Должна быть:

sh -c '(test -f /usr/include/sys/statvfs.h -a $(OS) != sc5 -a $(OS) != sco -a $(OS) != lnx) && $(LN) flocksun.c flockbsd.c $(LN) flocksv4.c flockbsd.c'

Эта модификация изменит файл “sys/stavfs”. Этот файл, с новой glibc 2.1 из Linux отличается от доступной на Sun.

Редактируйте файл Makefile (vi +354 src/osdep/unix/Makefile) и измените следующую строку:

BASECFLAGS="-g -fno-omit-frame-pointer -O6 -DNFSKLUDGE" \

Должна быть:

BASECFLAGS="-g -fno-omit-frame-pointer -O9 -funroll-loops -ffast-math -malign-double -mcpu= pentiumpro -march=pentiumpro -fomit-frame-pointer -fno-exceptions -DNFSKLUDGE" \

Это наши оптимизационные флаги для компиляции программ IMAP/POP на сервере.

Редактируйте файл Makefile (vi +61 src/osdep/unix/Makefile) и измените следующие строки:



ACTIVEFILE=/usr/lib/news/active

Должна быть:

ACTIVEFILE=/var/lib/news/active

SPOOLDIR=/usr/spool

Должна быть:

SPOOLDIR=/var/spool

RSHPATH=/usr/ucb/rsh

Должна быть:

RSHPATH=/usr/bin/rsh

LOCKPGM=/etc/mlock

Должна быть:

#LOCKPGM=/etc/mlock

“ACTIVEFILE=”строка определяет путь “активного” каталога для IMAP/POP, “SPOOLDIR=”где вы разместите “spool” каталог Linux IMAP/POP, “RSHPATH=”определяет путь каталога “rsh” на вашей системе. Важно заметить, что мы не используем сервис rsh на нашем сервере, но даже в этом случае, мы должны определить правильный путь до “rsh”.

Редактируйте файл Makefile (vi +89 src/osdep/unix/Makefile) и измените строку:

CC=cc

Должна быть:

CC=egcs

Эта строка определяет имя нашего GCC компилятора, который мы будем использовать при компиляции программ IMAP/POP (в нашем случае egcs).

Шаг 2

Сейчас мы должны компилировать и инсталлировать IMAP & POP на почтовом сервере:


[root@deep imap-4.7c]# make lnp

[root@deep imap-4.7c]# install -m 644 ./src/ipopd/ipopd.8c /usr/man/man8/ipopd.8c

[root@deep imap-4.7c]# install -m 644 ./src/imapd/imapd.8c /usr/man/man8/imapd.8c

[root@deep imap-4.7c]# install -s -m 755 ./ipopd/ipop2d /usr/sbin

[root@deep imap-4.7c]# install -s -m 755 ./ipopd/ipop3d /usr/sbin

[root@deep imap-4.7c]# install -s -m 755 ./imapd/imapd /usr/sbin

[root@deep imap-4.7c]# install -m 644 ./c-client/c-client.a /usr/lib

[root@deep imap-4.7c]# ln -fs /usr/lib/c-client.a /usr/lib/libimap.a

[root@deep imap-4.7c]# mkdir -p /usr/include/imap

[root@deep imap-4.7c]# install -m 644 ./c-client/*.h /usr/include/imap

[root@deep imap-4.7c]# install -m 644 ./src/osdep/tops-20/shortsym.h /usr/include/imap

[root@deep imap-4.7c]# chown root.mail /usr/sbin/ipop2d

[root@deep imap-4.7c]# chown root.mail /usr/sbin/ipop3d

[root@deep imap-4.7c]# chown root.mail /usr/sbin/imapd

Вышеприведенные команды будут конфигурировать программу, проверяя, что ваша система имеет необходимые библиотеки и способна выполнять необходимые функции, компилирует все исходные файлы в исполняемые двоичные, и затем, инсталлирует все двоичные и вспомогательные файлы в определенное место.

Заметим, что команда “make lnp” будет настраивать программу под вашу Linux систему с поддержкой Pluggable Authentication Modules (PAM) для лучшей безопасности.

Команда “mkdir” создаст новый каталог с именем “imap” в “/usr/include”. Этот новый каталог “imap” будет содержать все заголовочные файлы связанные с программой imapd файлы “c-client/*” и “shortsym.h”.

Команда “chown” изменит владельца исполняемых программ “ipop2d”, “ipop3d” и “imapd” на пользователя “root” и группу “mail”.

Команда “ln -fs” создаст символическую ссылку “libimap.a” к файлу “c-client.a”, которая может потребоваться для некоторых других программ, которые мы будем инсталлировать в будущем.

ЗАМЕЧАНИЕ. Из соображений безопасности, если вы используете только imapd сервис, удалите двоичные файлы ipop2d и ipop3d. Тоже верно и для ipopd; если вы используете только ipopd сервис, удалите исполняемый файл imapd. Если же вы используете оба сервиса (imapd и ipopd), то оставьте оба двоичных файла.


Содержание раздела