Пошаговая инструкция настройки обычного Linux сервера
Конфигурационные файлы
sudo wget https://wiki.itvideo.pro/dokuwiki/_export/code/linux/vds/bashrc?codeblock=1 -O .bashrc sudo wget https://wiki.itvideo.pro/dokuwiki/_export/code/linux/vds/bash_aliases?codeblock=1 -O .bash_aliases sudo wget https://wiki.itvideo.pro/dokuwiki/_export/code/linux/vds/inputrc?codeblock=1 -O .inputrc sudo wget https://wiki.itvideo.pro/_media/linux/vimrc.txt -O .vimrc
1. Заходим под root
2. Установка необходимых пакетов
sudo -i apt update && apt install -y \ curl \ vim \ telnet \ sudo \ wget \ mc \ net-tools \ git \ curl \ man \ bash-completion \ dnsutils \ whois
3. Изменение сетевых настроек
vim /etc/network/interfaces
- interfaces
auto eth1 iface eth1 inet static address 192.168.2.9 netmask 255.255.255.0 gateway 192.168.2.1 nameserver 192.168.2.1
systemctl restart networking.service
4. Изменить название сервера
hostnamectl sudo hostnamectl set-hostname srv.mydomain.ru sudo systemctl restart systemd-hostnamed hostnamectl
5. Переименование motd
sudo mv /etc/motd /etc/motd.old
6.Установка временной зоны
sudo timedatectl set-timezone Europe/Moscow
7.Создание пользователя
adduser myuser
8.Создание пароля
passwd myuser
9. Добавление пользователя в группу wheel для sudo
RHEL
usermod -aG wheel myuser
Debian
usermod -aG sudo myuser
10. Sudo
Шаг 1. Запускаем visudo
sudo visudo
Шаг 2. Меняем в файле Defaults env_reset на Defaults env_reset, timestamp_timeout=60, чтобы пароль нужно было вводить не так часто. Шаг 3. Находим файл в /etc/sudoers.d/ и добавляем в него строку, чтобы пароль вообще не запрашивало.
myuser ALL=(ALL) NOPASSWD:ALL
11. Настраиваем SSH
sudo vim /etc/ssh/sshd_config
Переопределяем порт
По умолчанию используется порт 22 и в файле конфигурации параметр Port=22 закомментирован. Его необходимо раскомментировать и сдублировать, тогда SSH будет отвечать сразу на двух портах.
Port 22 Port 22222
Перегружаем sshd и проверяем вход под новым пользователем по SSH на порт 22222 и работу sudo Если нормально, то возвращаемся к редактированию sshd_config
Параметр | Описание |
---|---|
Port 22 | Комментируем |
Port 22222 | Оставляем |
PermitRootLogin | Запрещаем |
12. Настройка файервола UFW
sudo ufw status verbose sudo apt install ufw sudo ufw allow from 98.169.197.61 to any port 55522 sudo ufw allow http sudo ufw allow https sudo ufw allow smtp sudo ufw enable sudo ufw reload sudo ufw status numbered sudo ufw delete 2
13. Настройка vim
mkdir -p .vim/colors cd .vim/colors
Установка тем
gruvbox
wget https://raw.githubusercontent.com/morhetz/gruvbox/master/colors/gruvbox.vim
molokai
wget https://raw.githubusercontent.com/tomasr/molokai/master/colors/molokai.vim
better-molokai Лучшая тема, с исправленным цветом комментариев
wget https://raw.githubusercontent.com/ELouisYoung/vim-better-molokai/master/colors/better-molokai.vim
14. Изменение PS1
Копируем .bashrc
15. Запрет вывода "Last Login message"
>/var/log/lastlog chattr +i /var/log/lastlog >/var/log/wtmp >/var/log/btmp chattr +i /var/log/wtmp /var/log/btmp
16. Вывод системной информации neofetch
Устанавливаем и редактируем конфигурационный файл
sudo apt install neofetch sudo mv .config/neofetch/config.conf .config/neofetch/config.conf.old sudo vim .config/neofetch/config.conf
вставить конфиг ниже
- config.conf
print_info() { info title info underline info "OS" distro info "Kernel" kernel info "Uptime" uptime info "Packages" packages info "Shell" shell info "Resolution" resolution info "DE" de info "Terminal" term info "Memory" memory info "Disk" disk info "Public IP" public_ip } title_fqdn="on" kernel_shorthand="on" distro_shorthand="off" os_arch="on" uptime_shorthand="on" memory_percent="on" memory_unit="mib" package_managers="on" shell_path="off" shell_version="on" speed_type="bios_limit" speed_shorthand="off" cpu_brand="on" cpu_speed="on" cpu_cores="logical" cpu_temp="off" gpu_brand="on" gpu_type="all" refresh_rate="off" gtk_shorthand="off" gtk2="on" gtk3="on" public_ip_host="http://ident.me" public_ip_timeout=2 de_version="on" disk_show=('/') disk_subtitle="mount" disk_percent="on" music_player="auto" song_format="%artist% - %album% - %title%" song_shorthand="off" mpc_args=() colors=(distro) bold="on" underline_enabled="on" underline_char="-" separator=":" block_range=(0 15) color_blocks="on" block_width=3 block_height=1 col_offset="auto" bar_char_elapsed="-" bar_char_total="=" bar_border="on" bar_length=15 bar_color_elapsed="distro" bar_color_total="distro" cpu_display="off" memory_display="off" battery_display="off" disk_display="off" image_backend="off" image_source="auto" ascii_distro="auto" ascii_colors=(distro) ascii_bold="on" image_loop="off" thumbnail_dir="${XDG_CACHE_HOME:-${HOME}/.cache}/thumbnails/neofetch" crop_mode="normal" crop_offset="center" image_size="auto" gap=3 yoffset=0 xoffset=0 background_color= stdout="off"