Skip to main content

Ubuntu Setup

Учетные данные/доступ

Настройка SSH доступа

sudo apt install ssh -y
sudo rm /etc/ssh/sshd_config.d/50-cloud-init.conf  # Для облачных образов

sudo vimtee /etc/ssh/sshd_config
> /dev/null << 'EOF'
TCPKeepAlive yes
ClientAliveInterval 60  
ClientAliveCountMax 360
PermitRootLogin prohibit-password  # Отключить root доступ по SSH
PasswordAuthentication yes          # При необходимости включить парольную аутентификацию
PubkeyAuthentication yes            # Рекомендуется для безопасности
EOF

sudo systemctl restart ssh  # В Ubuntu 24.04 используется ssh (не sshd)

Создание пользователя с правами sudo

sudo useradd -m -s /bin/bash <user>
sudo usermod -aG sudo,adm,systemd-journal <user>
sudo passwd <user>

Удаление пользователя полное

sudo pkill -u <user>  # Вместо killall (не всегда установлен)
sudo userdel -r <user>
sudo visudo  # Удалить строку с <user> если добавляли через visudo

Настройка Сети

Важно: В Ubuntu 24.04 используется Netplan с новым синтаксисом (версия 2)

Режим DHCP

sudo vimtee /etc/netplan/01-netcfg.yaml
> /dev/null << 'EOF'
# DHCP
network:
  version: 2
  renderer: networkd
  ethernets:
    eth0:
      dhcp4: true
      dhcp4-overrides:
        use-dns: true
        use-domains: true
      dhcp6: false  # Отключить IPv6 если не используется
EOF

Режим Static IP

sudo vimtee /etc/netplan/01-netcfg.yaml
> /dev/null << 'EOF'
# Static IP
network:
  version: 2
  renderer: networkd
  ethernets:
    eth0:
      dhcp4: false
      addresses:
        - 192.168.1.10/24
      routes:
        - to: default
          via: 192.168.1.1
      nameservers:
        addresses: [8.8.8.8, 1.1.1.1]
        search: [local]
# ОпциональноEOF

Перезапуск сети

sudo netplan apply
sudo systemctl restart systemd-networkd  # Для применения изменений

Отключение сетевого протокола ipv6

Способ 1 (Рекомендуемый для Ubuntu 24.04)

sudo vimtee -a /etc/sysctl.conf
#> В/dev/null конце<< файла добавить:'EOF'
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1
EOF

sudo sysctl -p
sudo sysctl --system  # Применить все настройки

Способ 2 (Через GRUB)

sudo vimsed -i 's/GRUB_CMDLINE_LINUX=""/GRUB_CMDLINE_LINUX="ipv6.disable=1"/' /etc/default/grub
# Найти строку:
GRUB_CMDLINE_LINUX=""
# Заменить на:
GRUB_CMDLINE_LINUX="ipv6.disable=1"
sudo update-grub
sudo reboot

Тюнинг системы

Изменение имени сервера

sudo hostnamectl set-hostname name

# Современный способ
sudo vimtee -a /etc/hosts
> /dev/null << 'EOF'
127.0.0.1       localhost name
::1             localhost name
# IPv6 записьEOF

Изменить Приветствие при входе пользователя

sudo chmod -x /etc/update-motd.d/10-help-text

sudo vimtee /etc/update-motd.d/10-help-text > /dev/null << 'EOF'
#!/bin/sh
# Файл очищен для изменения приветствия
EOF
# Комментировать все лишние строки или очистить файл

Тюнинг Приглашения prompt в консоли

echo "PS1='\[\033[36m\]\u\[\033[m\]@\[\033[32m\]\h:\[\033[33;1m\]\w\[\033[m\]$ '" >> ~/.bashrc
source ~/.bashrc  # Применить без выхода

Ограничение размера LOGs системы

(до 100mb)
sudo sed -i 's/#SystemMaxUse=/SystemMaxUse=100M/g' /etc/systemd/journald.conf
sudo systemctl restart systemd-journald
sudo journalctl --rotate  # Принудительная ротация журналов

Добавление переключения языка по Alt+Shift

(для GNOME)
sudo apt install gnome-tweaks -y
gsettings set org.gnome.desktop.input-sources xkb-options "['grp:alt_shift_toggle']"

Установка часового пояса

(Москва)
sudo timedatectl list-timezones | grep Moscow  # Проверить доступные
sudo timedatectl set-timezone Europe/Moscow
sudo localectl set-locale LC_TIME="ru_RU.UTF-8"
# Для русской локали времени
sudo locale-gen ru_RU.UTF-8

Смена раскладки

(Ubuntu 24.04 Gnome)
sudo apt install gnome-tweak-tool -y
# Альтернативный способ через настройки:
gsettings set org.gnome.desktop.wm.keybindings switch-input-source "['<Super>space']"
gsettings set org.gnome.desktop.wm.keybindings switch-input-source-backward "['<Shift><Super>space']"

Ярлык на рабочий стол

# Создание .desktop файла
vimtee ~/Desktop/myapp.desktop
> /dev/null << 'EOF'
[Desktop Entry]
Version=1.0
Name=MyApp
Comment=My Application
Exec=/path/to/script.sh
Icon=/path/to/icon.png
Terminal=false
Type=Application
Categories=Utility;
EOF

chmod +x ~/Desktop/myapp.desktop

https://wikilinux.ru/all_articles/sozdanie-yarlykov-dlya-sh-skriptov

https://specifications.freedesktop.org/desktop-entry-spec/latest/recognized-keys.html

Обновление системы, алиасы

Установка доп. пакетов

sudo apt update
sudo apt install -y vim tree net-tools mlocate curl wget htop

Добавление Алиасов Обновления итд.

tee -a ~/.bashrc << 'EOF'
# ------------------------------------------------------------------------------
# Prompt console
# ------------------------------------------------------------------------------
PS1='\[\033[36m\]\u\[\033[m\]@\[\033[32m\]\h:\[\033[33;1m\]\w\[\033[m\]$ '
# ------------------------------------------------------------------------------
# Bind Aliases
# ------------------------------------------------------------------------------
alias upd='sudo apt update -y && \
sudo apt upgrade -y && \
sudo apt full-upgrade -y && \
# В Ubuntu 24.04 предпочтительнее full-upgrade
sudo apt autoremove -y && \
sudo apt autoclean -y && \
sudo updatedb && \
sudo apt --fix-broken install'  # Проверка зависимостей

alias clean='sudo apt autoremove -y && sudo apt autoclean -y'
alias install='sudo apt install'
alias search='apt search'
alias show='apt show'
alias hclean='cat /dev/null > ~/.bash_history && history -c'
alias doc='docker ps --all --format "table {{.ID}}\t{{.Ports}}\t{{.Status}}\t{{.Names}}"'
alias ports='sudo netstat -tulpn | grep LISTEN'
# Просмотр открытых портов
# ------------------------------------------------------------------------------
EOF
source ~/.bashrc  # Применить изменения

Создание скрипта обновления

sudo tee ~/update.apt.sh > /dev/null << 'EOF'
#!/bin/bash
set -e  # Остановка при ошибке

echo "=== Starting system update ==="
sudo apt update
sudo apt upgrade -y
sudo apt full-upgrade -y  # Вместо dist-upgrade
sudo apt autoremove -y
sudo apt autoclean -y
sudo apt --fix-broken install
sudo updatedb
echo "=== System update completed successfully ==="
EOF
sudo chmod +x ~/update.apt.sh
sudo ~/update.apt.sh

Дополнительные полезные настройки для Ubuntu 24.04

# Включение автоматических обновлений безопасности
sudo apt install unattended-upgrades -y
sudo dpkg-reconfigure --priority=low unattended-upgrades

# Настройка временной зоны для журналов
sudo timedatectl set-local-rtc 0

# UTC для оборудования

# Оптимизация SWAP
echo "vm.swappiness=10" | sudo tee -a /etc/sysctl.conf
sudo sysctl -p

# Настройка лимитов системы
sudo tee -a /etc/security/limits.conf > /dev/null << 'EOF'
* soft nofile 65535
* hard nofile 65535
* soft nproc 65535
* hard nproc 65535
EOF

Настройка fail2ban для безопасности SSH

sudo apt install fail2ban -y

sudo tee /etc/fail2ban/jail.local > /dev/null << 'EOF'
[DEFAULT]
bantime = 3600
findtime = 600
maxretry = 5

[sshd]
enabled = true
port = ssh
filter = sshd
logpath = /var/log/auth.log
maxretry = 3
EOF

sudo systemctl enable fail2ban
sudo systemctl start fail2ban