Порядок настройки свежеустановленной Linux

Здесь описан порядок начальной настройки свежеустановленной операционной системы (на примере RedHat-подобных дистрибутивов, таких как Fedora, CentOS и т.п).

  1. Проверить, что рутовый пароль достаточно сложный, если нет – сделать его таковым.
  2. Настроить сетевые интерфейсы, шлюз, DNS-сервера.
  3. Отключить ipv6, если не планируется его использовать. Для этого в директории /etc/modprobe.d создать файл disableipv6.conf следующего содержания:
    1. install ipv6 /bin/true
  4. Включить magic key чтобы можно было с клавиатуры делать Sync (Alt-PrintScreen-S) и перегружать машину (Alt-PrintScreen-B) в случае проблем. Для этого в файле /etc/sysctl.conf проверяем наличие строки
    kernel.sysrq = 1
    и говорим

     

    1. sysctl –w kernel.sysrq=1

    чтобы эта фича заработала прямо сейчас.

  5. Сделать конфиг firewall-а, добавить в автозагрузку новый сервис (если он называется не iptables, в этом случае нужно также выключить сервис iptables). Важно: если в конфиге firewall-а используются конструкции, работа которых зависит от текущей конфигурации сетевых интерфейсов (например, анализируется вывод команды «/sbin/ip addr show»), то нужно проверить, что сервис firewall-а запускается после сервиса network. Иначе возможны проблемы.
  6. Выключить лишние сервисы. Для centos-сервера лишними, на мой взгляд, являются нижеперечисленные:
    1. for serv in anacron atd autofs bluetooth cups firstboot gpm ip6tables isdn mcstrans mdmonitor netfs nfslock pcscd portmap readahead_early readahead_later restorecond rpcgssd rpcidmapd sendmail yum-updatesd hidd lvm2-monitor ; do chkconfig $serv off ; done
  7. Выключить backresolv-ы в sshd. Для этого проверяем, что в файле
    /etc/ssh/sshd_config есть строка
    UseDNS no
  8. Удалить лишние пакеты. Для CentOS 5.3 на сервере я считаю лишними следующие:
    avahi bluez-gnome bluez-utils bluez-libs cadaver cairo cups GConf2 libnotify gtk2 libwnk pango notification-daemon paps redhat-lsb cups-libs dhcpv6-client irda-utils isdn4k-utils iptables-ipv6 firstboot-tui system-config-securitylevel-tui nfs-utils-lib nfs-utils pcmciautils portmap ypbind yp-tools wireless-tools NetworkManager rhpl wpa_supplicant system-config-network-tui sendmail ORBit2 anacron aspell ccid fbset hesiod ifd-egate dhclient dhcdbd libX11 libXext libXxf86vm mesa-libGL startup-notification.i386 nss_ldap nscd oddjob-libs oddjob rng-utils rp-pppoe wvdial.
  9. Поставить пакет yum-priorities чтобы можно было задавать приоритеты репозиториев yum-а.
  10. Поставить пакет yum-utils, который содержит такие полезные утилиты какyumdownloader (скачивание пакетов с зависимостями без установки) и package-cleanup.
  11. Найти и удалить оставшиеся неиспользуемые/ненужные пакеты с помощью команд:
    1. /usr/bin/packagecleanup orphans
    2. /usr/bin/packagecleanup problems
    3. /usr/bin/packagecleanup leaves
    4. /usr/bin/packagecleanup dupes
  12. Удалить sendmail, установить exim, поправить конфиг, добавить в автозагрузку.
  13. Установить ntpd для автоматической синхронизации времени, поправить конфиг, добавить в автозагрузку.
  14. Опционально: выключить selinux, для чего в файле /etc/selinux/config поменять строку «SELINUX=enforcing» на «SELINUX=disabled». Это может потребоваться если используется система виртализации OpenVZ — там даже в официальной доке пишут, что SELINUX нужно обязательно отключать. Также может быть полезно при необъяснимых ошибках в работе сетевых сервисов (в моей практике встречались случаи, когда включённый SELINUX мешал работе vsftpd, named). Но более разумно всё-таки SELINUX не отключать, а лучше правильно его настроить (читая как минимум /var/log/audit, вывод ‘ls -Z’ и маны по командам chcon, runcon)
  15. Проверить, что часовой пояс установлен правильно. Для Киева поменять его можно так:
    1. ln -sf /usr/share/zoneinfo/Europe/Kiev /etc/localtime
    2. vim /etc/sysconfig/clock
  16. Добавить дополнительные репозитории, такие как rpmforge (в котором есть много всяких полезностей). Для этого создаем файл /etc/yum.repos.d/rpmforge.repo со следующим содержимым (для CentOS):
    1. # Name: RPMforge RPM Repository for Red Hat Enterprise 5 — dag
    2. # URL: http://rpmforge.net/
    3. [rpmforge]
    4. name = Red Hat Enterprise $releasever — RPMforge.net — dag
    5. #baseurl = http://apt.sw.be/redhat/el5/en/$basearch/dag
    6. mirrorlist = http://apt.sw.be/redhat/el5/en/mirrors-rpmforge
    7. #mirrorlist = file:///etc/yum.repos.d/mirrors-rpmforge
    8. enabled = 1
    9. protect = 0
    10. gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rpmforge-dag
    11. gpgcheck = 1
    12. priority = 10

    Для основных репозиториев значение параметра priority лучше ставить меньшее, чем для сторонних. Это повысит приоритет основных репозиториев.

    Update: идеологически более правильным методом является установка пакетаrpmforge-release – тогда и repo-файл сам создастся и публичные ключи в директории /etc/pki/rpm-gpg появятся. Подробнее тут:https://rpmrepo.org/RPMforge/Using.

    Также иногда полезно включить репозиторий EPEL.

  17. Установить необходимые сервисы (httpd, samba и т.д.) и настроить их.
  18. Обновить систему
    yum update
  19. Включить запись даты и времени в историю команд bash:
    1. export HISTTIMEFORMAT="%Y%m%d %H:%M:%S " >> ~/.bashrc
  20. Перегрузиться, проверить что все в порядке.
  21. Построить систему резервного копирования, например через fsbackup. А вотздесь можно скачать немного изменённую версию, в которой весь русский текст в комментариях в кодировке UTF-8 (в оригинальной — KOI8-R). Также можно воспользоваться rpm-пакетом, который я наконец-то собрал (давно собирался, да всё руки не доходили), взять можно тут: /soft/repo/fsbackup.rpm

 

Источник

Leave a Reply