С чего начать настройку любого UNIX сервера

Обновлено Обновлено: Опубликовано Опубликовано:

Термины по теме: UNIX, Linux, FreeBSD, Ubuntu, CentOS

Описанные ниже действия стоит выполнить в первую очередь после установки операционной системы на базе UNIX (например, Ubuntu, CentOS, FreeBSD) вне зависимости от того, как планируется его использовать. В статье под системой CentOS подразумевается линейка RPM (CentOS, Red Hat, Fedora), под Ubuntu — deb (Ubuntu, Debian).

1. Работа с пользователями

Задаем пароль для пользователя root следующей командой:

passwd root

Создаем нового пользователя для работы с сервером.

а) если Linux CentOS:

useradd kdo -G wheel -m

* где kdo — имя учетной записи; wheel — группа, которая позволяет входить в систему в привилегированном режиме (su).

б) если Linux Ubuntu:

useradd kdo -G sudo -m

* где kdo — имя учетной записи; sudo — группа, которая позволяет запускать команды в привилегированном (sudo) режиме.

в) если BSD:

pw useradd kdo -G wheel -m

После того, как создали пользователя, обязательно задаем пароль:

passwd kdo

2. Имя сервера

Linux:

vi /etc/hostname

server.dmosk.ru

или одной командой:

hostnamectl set-hostname server.dmosk.ru

BSD:

ee /etc/rc.local

hostname="server.dmosk.ru"

3. Обновление

Ручное

CentOS / Red Hat

yum update

Ubuntu / Debian

apt-get update && apt-get upgrade

FreeBSD

pkg update && pkg upgrade

Автоматическая загрузка обновлений

Для удобства обновления системы, установим следующий пакет.

а) если Linux CentOS:

yum install yum-cron

б) если Linux Ubuntu:

apt-get install cron-apt

После установки данного пакета, будет создано задание в cron.daily, которое будет искать обновления для системы и загружать их. В будущем, это сократит время ожидания на скачивание файлов.

4. Правильное время

Настраиваем временную зону:

\cp /usr/share/zoneinfo/Europe/Moscow /etc/localtime

* в данном примере мы задаем зону по московскому времени.

Устанавливаем утилиту для синхронизации времени, разрешаем запуск демона и стартуем его.

а) если на системе CentOS / Red Hat:

yum install chrony

systemctl enable chronyd --now

б) если на системе Ubuntu / Debian:

apt-get install chrony

systemctl enable chrony --now

5. Автозавершение ввода команд

Значительно упрощает работу с консолью. Выполняется только на Linux — на BSD настроен по умолчанию.

Открываем на редактирование следующий файл:

vi /etc/inputrc

И добавляем:

set show-all-if-ambiguous On
"\e[A": history-search-backward
"\e[B": history-search-forward

Выходим их системы и входим снова для применения настроек.

6. Отключение IPv6

Если мы не используем IPv6, его присутствие, в некоторых случаях, может мешать работе, и даже, приводить к сбоям.

Отключение IPv6 для различных систем читайте в статье Как отключить IP версии 6 в Linux.

7. Настройка SSH

Все настройки выполняем в файле:

vi /etc/ssh/sshd_config

Безопасность

Отключаем SSH-вход от пользователя root:

PermitRootLogin no

* в системе должна быть другая учетная запись, под которой можно войти по SSH. В противном случае, возможность удаленного управления будет потеряна.

Можно даже явно указать пользователей и группы, которым можно подключаться удаленно:

AllowGroups wheel developer
AllowUsers kdo operator

При необходимости, заставляем SSH слушать на определенном адресе или сетевом порту:

Port 4444
ListenAddress 192.168.0.15

Производительность

Немного увеличим производительность:

UseDNS no
GSSAPIAuthentication no
GSSAPICleanupCredentials yes

Для применения настроек перезагружаем службу:

systemctl restart sshd

или

service sshd restart

8. Настройка хранения истории команд

По умолчанию, history возвращает историю команд в неудобном формате — без возможности увидеть дату и время. Чтобы исправить ситуацию, открываем на редактирование следующий файл:

vi /etc/environment

И добавляем следующие строки:

export HISTTIMEFORMAT='%F - %H:%M:%S '
export HISTSIZE=1000
export HISTFILESIZE=1000

* где HISTTIMEFORMAT добавит перед каждой командой дату и время ее выполнения; HISTSIZE — количество команд, которые хранятся в истории; HISTFILESIZE — количество команд, хранящихся в файле с историей.

# Серверы # Операционные системы # Настройки # UNIX # Ubuntu # Linux # FreeBSD
Дмитрий Моск — частный мастер
Был ли полезен этот ответ?

Да            Нет