Что в первую очередь нужно настраивать на 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.admins24.com

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

hostnamectl set-hostname server.admins24.com

BSD:

ee /etc/rc.local

hostname=»server.admins24.com»

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

CentOS / Red Hat

yum update

Ubuntu / Debian

apt-get update && apt-get upgrade

FreeBSD

pkg update && pkg upgrade

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

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

timedatectl set-timezone Europe/Moscow

* в данном примере мы задаем зону по московскому времени. Список все доступных зон можно посмотреть командой timedatectl list-timezones.

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

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

yum install chrony

systemctl enable chronyd —now

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

apt-get install chrony

systemctl enable chrony

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. Настройка vi (Debian или Ubuntu)

Некоторые дистрибутивы Linux используют версию vi, с которой работать не совсем удобно. Как правило, это относится к системам на основе deb.

Многие пользователи используют другие редакторы, например, nano. Но если мы хотим использовать, именно, vi, попробуем сделать работу с ним приятнее.

Tiny vi

Ставим пакет:

apt-get install vim

Выбираем редактор по умолчанию:

update-alternatives —config editor

Выбираем вариант с vim.tiny, например:

* 3            /usr/bin/vim.tiny    15        manual mode

* в данном примере, выбираем 3.

Выбираем вариант vi:

update-alternatives —config vi

Также выбираем вариант с vim.tiny, например:

* 2            /usr/bin/vim.tiny    15        manual mode

* в данном примере, выбираем 2.

Добавим в файл:

vi /etc/bash.bashrc

… строку:

alias vi=»vim.tiny»

Готово. Чтобы настройки применились корректно, выходим из консоли и подключается снова.

Цветовая схема

Если мы планируем использовать текстовый редактор vi и у нас Ubuntu, рекомендуется сменить цветовую схему — по умолчанию, используется синий цвет, и если консоль будет черной (как большинство таковых по умолчанию), то будет неудобно читать текст.

Открываем конфигурационный файл vi.

а) для настройки всем пользователям:

vi /etc/vim/vimrc

б) только для текущего:

vi ~/.vimrc

Добавим строку:

color desert

* где desert — устанавливаемый цвет.

8. Настройка 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

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

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

vi /etc/environment

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

export HISTTIMEFORMAT=’%F — %H:%M:%S ‘
export HISTSIZE=1000
export HISTFILESIZE=1000

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