📌 Шпаргалка по настройке Postfix
📌 1. Установка Postfix
Ubuntu/Debian:
CentOS/RHEL:
После установки выбрать "Internet Site" и ввести доменное имя сервера.
📌 2. Основные конфигурационные файлы
📂 /etc/postfix/main.cf – главный конфиг
📂 /etc/postfix/master.cf – управление службами
📂 /etc/postfix/virtual – виртуальные почтовые ящики
📂 /etc/aliases – почтовые алиасы
Перезапуск после изменений:
📌 3. Основные параметры в
📌 4. Разрешение отправки почты
Добавить в
📌 5. Настройка SASL (Аутентификация)
📌 Установить SASL:
📌 Настроить
📌 Добавить в
Перезапустить службы:
📌 6. Настройка DKIM (Подпись почты)
📌 Установить OpenDKIM:
📌 Настроить Postfix (
📌 Сгенерировать ключ DKIM:
Добавить в DNS TXT-запись для
📌 7. Настройка SPF (Защита от подмены)
Добавить в DNS TXT-запись:
Проверка SPF:
📌 8. Настройка DMARC (Доп. защита)
Добавить в DNS TXT-запись:
📌 9. Очередь почты в Postfix
📌 Просмотр очереди:
📌 Удалить все письма:
📌 Перезапустить доставку писем:
📌 10. Логирование и отладка
📌 Проверить логи почты:
📌 Проверить конфигурацию Postfix:
@sysadmin1
📌 1. Установка Postfix
Ubuntu/Debian:
sudo apt update && sudo apt install postfix -y
CentOS/RHEL:
sudo yum install postfix -y
После установки выбрать "Internet Site" и ввести доменное имя сервера.
📌 2. Основные конфигурационные файлы
📂 /etc/postfix/main.cf – главный конфиг
📂 /etc/postfix/master.cf – управление службами
📂 /etc/postfix/virtual – виртуальные почтовые ящики
📂 /etc/aliases – почтовые алиасы
Перезапуск после изменений:
sudo systemctl restart postfix
📌 3. Основные параметры в
main.cfmyhostname = mail.example.com # Имя почтового сервера
mydomain = example.com # Доменное имя
myorigin = $mydomain # Отправитель по умолчанию
inet_interfaces = all # Разрешить работу на всех интерфейсах
inet_protocols = ipv4 # Только IPv4 (по умолчанию IPv6 тоже включен)
mydestination = $myhostname, localhost.$mydomain, localhost
relayhost = # Ретрансляция отключена
📌 4. Разрешение отправки почты
Добавить в
main.cf:mynetworks = 127.0.0.0/8, 192.168.1.0/24 # Разрешенные сети
smtpd_recipient_restrictions =
permit_mynetworks,
permit_sasl_authenticated,
reject_unauth_destination
📌 5. Настройка SASL (Аутентификация)
📌 Установить SASL:
sudo apt install sasl2-bin -y
📌 Настроить
/etc/default/saslauthd:START=yes
OPTIONS="-c -m /var/spool/postfix/var/run/saslauthd"
📌 Добавить в
main.cf:smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
broken_sasl_auth_clients = yes
smtpd_sasl_local_domain = $mydomain
Перезапустить службы:
sudo systemctl restart saslauthd postfix
📌 6. Настройка DKIM (Подпись почты)
📌 Установить OpenDKIM:
sudo apt install opendkim opendkim-tools -y
📌 Настроить Postfix (
main.cf):milter_protocol = 2
milter_default_action = accept
smtpd_milters = unix:/run/opendkim/opendkim.sock
non_smtpd_milters = unix:/run/opendkim/opendkim.sock
📌 Сгенерировать ключ DKIM:
sudo opendkim-genkey -b 2048 -d example.com -D /etc/opendkim/keys -s default -v
Добавить в DNS TXT-запись для
default._domainkey.example.com.📌 7. Настройка SPF (Защита от подмены)
Добавить в DNS TXT-запись:
example.com TXT "v=spf1 mx ~all"
Проверка SPF:
nslookup -type=txt example.com
📌 8. Настройка DMARC (Доп. защита)
Добавить в DNS TXT-запись:
_dmarc.example.com TXT "v=DMARC1; p=quarantine; rua=mailto:dmarc@example.com"
📌 9. Очередь почты в Postfix
📌 Просмотр очереди:
mailq
📌 Удалить все письма:
postsuper -d ALL
📌 Перезапустить доставку писем:
postqueue -f
📌 10. Логирование и отладка
📌 Проверить логи почты:
sudo tail -f /var/log/mail.log
📌 Проверить конфигурацию Postfix:
postconf -n
@sysadmin1
🔥4👍2❤1😁1🎉1
Как найти и удалить большие файлы в Linux?
🔍 Находим файлы больше 1 ГБ:
📌 Разбор команды:
-
-
-
-
📂 Выводим ТОП-10 самых больших файлов:
Это покажет нам список самых больших файлов в системе.
🗑 Удаляем ненужные:
После анализа можно удалить файлы вручную:
⚠ Осторожно! Безвозвратное удаление. Лучше сначала проверить файлы перед удалением.
🚀 Автоматическое удаление файлов старше 30 дней и больше 500M:
Эта команда почистит старые большие логи, освобождая место.
@sysadmin1
🔍 Находим файлы больше 1 ГБ:
find / -type f -size +1G 2>/dev/null
📌 Разбор команды:
-
/ — искать по всей системе (можно заменить на конкретную папку, например, /var/log). -
-type f — искать только файлы (без директорий). -
-size +1G — ищем файлы больше 1 гигабайта. -
2>/dev/null — скрываем ошибки доступа. 📂 Выводим ТОП-10 самых больших файлов:
find / -type f -exec du -h {} + 2>/dev/null | sort -rh | head -n 10Это покажет нам список самых больших файлов в системе.
🗑 Удаляем ненужные:
После анализа можно удалить файлы вручную:
rm -f /путь/к/файлу
⚠ Осторожно! Безвозвратное удаление. Лучше сначала проверить файлы перед удалением.
🚀 Автоматическое удаление файлов старше 30 дней и больше 500M:
find /var/log -type f -size +500M -mtime +30 -exec rm -f {} \;Эта команда почистит старые большие логи, освобождая место.
@sysadmin1
👍2🆒2⚡1🔥1🏆1
🔥 Шпаргалка: Обход ограничений root и восстановление пароля root в Linux
1️⃣ Временное получение прав root через sudo
Если root-заблокирован, но есть sudo-пользователь:
Или выполнить команду от имени root:
Если sudo не настроен для пользователя:
(Требуется пароль root, если не установлен — переходи к следующему пункту)
2️⃣ Восстановление пароля root через режим восстановления (Recovery Mode)
1. Перезагрузи систему и на экране GRUB выбери Advanced options → Recovery mode
2. Выбери пункт root - Drop to root shell prompt
3. Проверь файловую систему и перемонтируй ее в режим записи:
4. Установи новый пароль root:
5. Перезагрузи систему:
3️⃣ Восстановление root-доступа через редактирование GRUB
Если Recovery Mode недоступен, редактируем загрузку GRUB:
1. Перезагрузи сервер
2. В меню GRUB выбери нужную ОС и нажми
3. Найди строку, начинающуюся с
4. Нажми
5. Перемонтируй файловую систему:
6. Сбрось пароль root:
7. Перезагрузи систему:
4️⃣ Восстановление root через LiveCD / LiveUSB
Если не удается получить доступ через GRUB, используй загрузочный Linux (LiveCD):
1. Загрузи систему с LiveCD (Ubuntu, Debian, Kali и т. д.)
2. Определи диск с установленной ОС:
3. Подключи диск:
4. Перейди в среду chroot:
5. Сбрось пароль root:
6. Перезагрузи систему:
5️⃣ Восстановление root-доступа в системах с SELinux
Если включен SELinux, после сброса пароля root обязательно обнови контекст:
или
6️⃣ Полное удаление пароля root
Если хочешь полностью удалить пароль root, используй команду:
После этого можно зайти под root без пароля.
⚠️ Важно!
- Используй эти методы только на своих серверах.
- При потере root-доступа заблаговременно настрой sudo или создай резервного пользователя.
- В корпоративных системах возможны дополнительные ограничения (LDAP, PAM, Secure Boot).
@sysadmin1
1️⃣ Временное получение прав root через sudo
Если root-заблокирован, но есть sudo-пользователь:
sudo su -
Или выполнить команду от имени root:
sudo -i
Если sudo не настроен для пользователя:
su - root
(Требуется пароль root, если не установлен — переходи к следующему пункту)
2️⃣ Восстановление пароля root через режим восстановления (Recovery Mode)
1. Перезагрузи систему и на экране GRUB выбери Advanced options → Recovery mode
2. Выбери пункт root - Drop to root shell prompt
3. Проверь файловую систему и перемонтируй ее в режим записи:
mount -o remount,rw /
4. Установи новый пароль root:
passwd root
5. Перезагрузи систему:
reboot
3️⃣ Восстановление root-доступа через редактирование GRUB
Если Recovery Mode недоступен, редактируем загрузку GRUB:
1. Перезагрузи сервер
2. В меню GRUB выбери нужную ОС и нажми
e (Edit) 3. Найди строку, начинающуюся с
linux /boot/... и в конце допиши: init=/bin/bash
4. Нажми
Ctrl + X или F10 для загрузки 5. Перемонтируй файловую систему:
mount -o remount,rw /
6. Сбрось пароль root:
passwd root
7. Перезагрузи систему:
exec /sbin/init
4️⃣ Восстановление root через LiveCD / LiveUSB
Если не удается получить доступ через GRUB, используй загрузочный Linux (LiveCD):
1. Загрузи систему с LiveCD (Ubuntu, Debian, Kali и т. д.)
2. Определи диск с установленной ОС:
fdisk -l
3. Подключи диск:
mount /dev/sdXn /mnt
4. Перейди в среду chroot:
chroot /mnt
5. Сбрось пароль root:
passwd root
6. Перезагрузи систему:
reboot
5️⃣ Восстановление root-доступа в системах с SELinux
Если включен SELinux, после сброса пароля root обязательно обнови контекст:
touch /.autorelabel
или
restorecon -v /etc/shadow
6️⃣ Полное удаление пароля root
Если хочешь полностью удалить пароль root, используй команду:
passwd -d root
После этого можно зайти под root без пароля.
⚠️ Важно!
- Используй эти методы только на своих серверах.
- При потере root-доступа заблаговременно настрой sudo или создай резервного пользователя.
- В корпоративных системах возможны дополнительные ограничения (LDAP, PAM, Secure Boot).
@sysadmin1
👍4💯2❤1🔥1🎉1
🔍 Логирование и аудит действий пользователей в Linux
📌 Мониторинг активности пользователей — ключевой аспект безопасности системы. Разбираем инструменты:
🛡 auditd — мощный инструмент аудита
💾 Логи:
🔧 Настройка:
- Запуск и проверка статуса:
- Добавление правила аудита (отслеживание изменений файла /etc/passwd):
- Просмотр лога:
- Фильтрация по пользователю (UID 1000):
🔙 last — история входов в систему
- Показать список последних входов:
- Фильтр по пользователю:
- Проверка перезагрузок:
🕵 who — активные пользователи
- Кто в системе сейчас:
- Подробная информация:
📊 w — активность пользователей
- Кто в системе и что делает:
- Разбор вывода:
-
-
-
-
📜 history — история команд
- Просмотр истории:
- Очистка истории:
- Логирование всех команд в реальном времени (добавить в
✍ Сохраняй и делись с коллегами! 🚀
👉 @sysadmin1
📌 Мониторинг активности пользователей — ключевой аспект безопасности системы. Разбираем инструменты:
auditd, last, who, w, history. 🛡 auditd — мощный инструмент аудита
💾 Логи:
/var/log/audit/audit.log 🔧 Настройка:
- Запуск и проверка статуса:
systemctl start auditd
systemctl enable auditd
systemctl status auditd
- Добавление правила аудита (отслеживание изменений файла /etc/passwd):
auditctl -w /etc/passwd -p wa -k passwd_changes
- Просмотр лога:
ausearch -k passwd_changes
- Фильтрация по пользователю (UID 1000):
ausearch -ua 1000
🔙 last — история входов в систему
- Показать список последних входов:
last
- Фильтр по пользователю:
last username
- Проверка перезагрузок:
last reboot
🕵 who — активные пользователи
- Кто в системе сейчас:
who
- Подробная информация:
who -a
📊 w — активность пользователей
- Кто в системе и что делает:
w
- Разбор вывода:
-
USER — имя пользователя -
TTY — терминал -
IDLE — время бездействия -
COMMAND — выполняемая команда 📜 history — история команд
- Просмотр истории:
history
- Очистка истории:
history -c && history -w
- Логирование всех команд в реальном времени (добавить в
~/.bashrc): export HISTTIMEFORMAT="%d/%m/%y %T "
export PROMPT_COMMAND="history -a"
✍ Сохраняй и делись с коллегами! 🚀
👉 @sysadmin1
🔥4👍2❤1🎉1👌1
This media is not supported in your browser
VIEW IN TELEGRAM
Fuck - это великолепная утилита, которое исправляет ошибки в предыдущих консольных командах.
Примеры:
➜
➜
...
➜
➜
Установка
На Ubuntu / Mint установите The Fuck с помощью следующих команд:
На FreeBSD установите The Fuck с помощью следующих команд:
На macOS или Linux установить The Fuck можно через Homebrew:
https://github.com/nvbn/thefuck
@sysadmin1
Примеры:
➜
apt-get install vim
E: Could not open lock file /var/lib/dpkg/lock - open (13: Permission denied)
E: Unable to lock the administration directory (/var/lib/dpkg/), are you root?➜
fuck
sudo apt-get install vim [enter/↑/↓/ctrl+c]
[sudo] password for nvbn:
Reading package lists... Done...
➜
git push
fatal: The current branch master has no upstream branch.
To push the current branch and set the remote as upstream, use
git push --set-upstream origin master➜
fuck
git push --set-upstream origin master [enter/↑/↓/ctrl+c]
Counting objects: 9, done.
...Установка
На Ubuntu / Mint установите The Fuck с помощью следующих команд:
sudo apt update
sudo apt install python3-dev python3-pip python3-setuptools
pip3 install thefuck --userНа FreeBSD установите The Fuck с помощью следующих команд:
pkg install thefuckНа macOS или Linux установить The Fuck можно через Homebrew:
brew install thefuckhttps://github.com/nvbn/thefuck
@sysadmin1
😁7🤣4👀3🔥2😍1
В России можно посещать IT-мероприятия хоть каждый день: как оффлайн, так и онлайн
Но где их находить? Как узнавать о них раньше, чем когда все начнут выкладывать фотографии оттуда?
Переходите на канал IT-Мероприятия России. В нём каждый день анонсируются мероприятия со всех городов России
📆 в канале размещаются как онлайн, так и оффлайн мероприятия;
👩💻 можно найти ивенты по любому стеку: программирование, frontend-backend разработка, кибербезопасность, дата-аналитика, osint, devops и другие;
🎙 разнообразные форматы мероприятий: митапы с коллегами по цеху, конференции и вебинары с известными опытными специалистами, форумы и олимпиады от важных представителей индустрии и многое другое
А чтобы не искать по разным форумам и чатам новости о предстоящих ивентах:
🚀 IT-мероприятия России — подписывайся и будь в курсе всех предстоящих мероприятий!
Но где их находить? Как узнавать о них раньше, чем когда все начнут выкладывать фотографии оттуда?
Переходите на канал IT-Мероприятия России. В нём каждый день анонсируются мероприятия со всех городов России
А чтобы не искать по разным форумам и чатам новости о предстоящих ивентах:
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3❤2👍2🎉1🙏1
💡 Типы DNS-записей, которые стоит знать 🖥️🌐
Разбираемся с основными DNS-записями, которые помогают доменам работать корректно! 🔎👇
🔹 A (Address) – привязывает домен к IPv4-адресу. Самый распространенный тип записи.
🔹 CNAME (Canonical Name) – позволяет создать псевдоним для домена, перенаправляя его на другой домен.
🔹 TXT (Text) – добавляет текстовые данные в DNS. Используется для SPF (защита e-mail) и других проверок.
🔹 AAAA – аналог A-записи, но для IPv6-адресов.
🔹 SRV (Service Record) – задаёт хост и порт для сервисов (например, VoIP), используется с A-записями.
🔹 PTR (Pointer Record) – выполняет обратное разрешение: сопоставляет IP-адрес с доменным именем.
🔹 NS (Name Server) – указывает авторитетные DNS-серверы для домена, помогая направлять запросы.
🔹 MX (Mail Exchange) – направляет почтовый трафик на нужный сервер, работает с A-записями.
📌 Эти записи критически важны для работы сайтов, почты и сервисов. Если управляете доменами – сохраните себе! 🚀
@sysadmin1
Разбираемся с основными DNS-записями, которые помогают доменам работать корректно! 🔎👇
🔹 A (Address) – привязывает домен к IPv4-адресу. Самый распространенный тип записи.
🔹 CNAME (Canonical Name) – позволяет создать псевдоним для домена, перенаправляя его на другой домен.
🔹 TXT (Text) – добавляет текстовые данные в DNS. Используется для SPF (защита e-mail) и других проверок.
🔹 AAAA – аналог A-записи, но для IPv6-адресов.
🔹 SRV (Service Record) – задаёт хост и порт для сервисов (например, VoIP), используется с A-записями.
🔹 PTR (Pointer Record) – выполняет обратное разрешение: сопоставляет IP-адрес с доменным именем.
🔹 NS (Name Server) – указывает авторитетные DNS-серверы для домена, помогая направлять запросы.
🔹 MX (Mail Exchange) – направляет почтовый трафик на нужный сервер, работает с A-записями.
📌 Эти записи критически важны для работы сайтов, почты и сервисов. Если управляете доменами – сохраните себе! 🚀
@sysadmin1
❤2👍2🔥1🎉1
🔐 Работа с SSH (OpenSSH, ключи, туннели, Port Forwarding)
1️⃣ Подключение по SSH
2️⃣ Генерация SSH-ключей
- Открытый ключ
- Закрытый ключ
3️⃣ Добавление ключа в агент SSH
4️⃣ Копирование ключа на сервер
5️⃣ Конфигурация SSH-клиента (
Файл
Подключение теперь выполняется просто командой:
📡 Проброс портов (Port Forwarding)
🔄 Локальный порт-форвардинг (L)
Перенаправляет локальный порт (
- Теперь локальный
🔄 Удаленный порт-форвардинг (R)
Перенаправляет порт сервера на локальный компьютер (
- Теперь подключение к
🔄 Динамический порт-форвардинг (SOCKS-прокси)
- Теперь можно использовать
🔀 Обход брандмауэров (Reverse SSH-туннель)
Если сервер за NAT или firewall, создаем обратное подключение:
📑 Полезные команды
🔍 Просмотр информации о сервере:
📡 Подключение без выполнения команд (для туннелей):
⏳ Подключение с поддержкой восстановления соединения:
🔒 Ограничение команд пользователя в
🔥 Дополнительные параметры SSH
🔹 Выключение строгой проверки хоста:
🔹 Использование прокси:
🔹 Перезапуск службы SSH:
🔹 Проверка лога SSH:
@sysadmin1
1️⃣ Подключение по SSH
ssh user@host
ssh -p 2222 user@host # Подключение к нестандартному порту
ssh -i ~/.ssh/id_rsa user@host # Подключение с указанием ключа
2️⃣ Генерация SSH-ключей
ssh-keygen -t rsa -b 4096 -C "your_email@example.com" # Генерация RSA-ключа
ssh-keygen -t ed25519 -C "your_email@example.com" # Генерация Ed25519-ключа (рекомендуется)
- Открытый ключ
id_rsa.pub добавляется на сервер (~/.ssh/authorized_keys). - Закрытый ключ
id_rsa хранится локально. 3️⃣ Добавление ключа в агент SSH
eval "$(ssh-agent -s)" # Запуск агента
ssh-add ~/.ssh/id_rsa # Добавление ключа в агент
4️⃣ Копирование ключа на сервер
ssh-copy-id user@host
cat ~/.ssh/id_rsa.pub | ssh user@host "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"
5️⃣ Конфигурация SSH-клиента (
~/.ssh/config) Файл
~/.ssh/config позволяет задать настройки подключения: Host myserver
HostName example.com
User myuser
Port 2222
IdentityFile ~/.ssh/id_rsa
ForwardAgent yes
Подключение теперь выполняется просто командой:
ssh myserver
📡 Проброс портов (Port Forwarding)
🔄 Локальный порт-форвардинг (L)
Перенаправляет локальный порт (
-L local_port:remote_host:remote_port): ssh -L 8080:127.0.0.1:80 user@host
- Теперь локальный
localhost:8080 перенаправляется на host:80.🔄 Удаленный порт-форвардинг (R)
Перенаправляет порт сервера на локальный компьютер (
-R remote_port:local_host:local_port): ssh -R 9000:localhost:22 user@host
- Теперь подключение к
host:9000 попадёт на localhost:22.🔄 Динамический порт-форвардинг (SOCKS-прокси)
ssh -D 1080 user@host
- Теперь можно использовать
localhost:1080 как SOCKS-прокси.🔀 Обход брандмауэров (Reverse SSH-туннель)
Если сервер за NAT или firewall, создаем обратное подключение:
ssh -R 2222:localhost:22 user@public-server
ssh -p 2222 localhost # Теперь можно подключаться с public-server обратно
📑 Полезные команды
🔍 Просмотр информации о сервере:
ssh user@host 'uname -a && uptime'
📡 Подключение без выполнения команд (для туннелей):
ssh -N -D 1080 user@host
⏳ Подключение с поддержкой восстановления соединения:
autossh -M 0 -o "ServerAliveInterval 60" -o "ServerAliveCountMax 3" -N -D 1080 user@host
🔒 Ограничение команд пользователя в
authorized_keys: command="/path/to/script.sh",no-agent-forwarding,no-X11-forwarding ssh-rsa AAAAB3...
🔥 Дополнительные параметры SSH
🔹 Выключение строгой проверки хоста:
ssh -o StrictHostKeyChecking=no user@host
🔹 Использование прокси:
ssh -o ProxyCommand="nc -X 5 -x proxyhost:1080 %h %p" user@host
🔹 Перезапуск службы SSH:
sudo systemctl restart sshd # Для systemd
sudo service ssh restart # Для SysVinit
🔹 Проверка лога SSH:
sudo journalctl -u sshd --no-pager | tail -n 20 # Для systemd
sudo tail -f /var/log/auth.log # Для Debian/Ubuntu
sudo tail -f /var/log/secure # Для CentOS
@sysadmin1
👍4❤3🔥3🎉2👨💻1
🛠Настройка и диагностика сети (ip, ifconfig, netstat, ss, traceroute, ping)
🏷 IP-адресация и настройка сети
📌 Просмотр текущих сетевых настроек
📌 Настройка IP-адреса (временная, до перезагрузки)
📌 Назначение шлюза (маршрут по умолчанию)
📌 Изменение MAC-адреса (требует отключения интерфейса)
🔍 Диагностика сети
📌 Проверка соединения (ping)
📌 Трассировка маршрута (traceroute)
(если нет traceroute, установите:
📌 Просмотр открытых соединений и портов
📌 Проверка DNS (nslookup, dig)
📌 Просмотр ARP-таблицы
📌 Просмотр таблицы маршрутизации
📌 Поиск сетевого интерфейса по IP
🛠 Дополнительные утилиты
📌 Проверка доступности порта (nc/nmap)
📌 Тестирование скорости соединения (iperf3)
📌 Просмотр DHCP-записей (если работает dhclient)
🔥 Полезные команды для быстрого анализа
@sysadmin1
🏷 IP-адресация и настройка сети
📌 Просмотр текущих сетевых настроек
ip a # Показать IP-адреса всех интерфейсов
ip addr show # То же самое, но полный вывод
ip r # Просмотр маршрутов (марштизация)
ip link show # Показать сетевые интерфейсы и их состояние
📌 Настройка IP-адреса (временная, до перезагрузки)
ip addr add 192.168.1.100/24 dev eth0 # Добавить IP к интерфейсу eth0
ip addr del 192.168.1.100/24 dev eth0 # Удалить IP
📌 Назначение шлюза (маршрут по умолчанию)
ip route add default via 192.168.1.1
📌 Изменение MAC-адреса (требует отключения интерфейса)
ip link set dev eth0 down
ip link set dev eth0 address 00:11:22:33:44:55
ip link set dev eth0 up
🔍 Диагностика сети
📌 Проверка соединения (ping)
ping 8.8.8.8 # Проверка доступности IP
ping -c 5 8.8.8.8 # Отправить 5 пакетов
ping -i 0.5 8.8.8.8 # Интервал 0.5 сек
ping -s 1024 8.8.8.8 # Размер пакета 1024 байта
📌 Трассировка маршрута (traceroute)
traceroute 8.8.8.8 # Маршрут до IP-адреса
traceroute -I 8.8.8.8 # Использовать ICMP вместо UDP
(если нет traceroute, установите:
apt install traceroute)📌 Просмотр открытых соединений и портов
netstat -tulnp # Список слушающих портов (старый инструмент)
ss -tulnp # Современная альтернатива netstat
ss -s # Краткая статистика TCP
ss -ant | grep LISTEN # Фильтр активных TCP-портов
📌 Проверка DNS (nslookup, dig)
nslookup google.com # Запрос DNS через nslookup
dig google.com # Запрос DNS через dig
dig google.com +short # Вывести только IP-адрес
📌 Просмотр ARP-таблицы
ip neigh show # Аналог "arp -a"
📌 Просмотр таблицы маршрутизации
ip route show # Аналог "route -n"
📌 Поиск сетевого интерфейса по IP
ip -o addr show | grep "192.168.1.100"
🛠 Дополнительные утилиты
📌 Проверка доступности порта (nc/nmap)
nc -zv 192.168.1.1 22 # Проверить, открыт ли порт 22
nmap -p 22 192.168.1.1 # Аналогично, но через nmap
📌 Тестирование скорости соединения (iperf3)
iperf3 -s # Запустить сервер (на принимающей стороне)
iperf3 -c 192.168.1.1 # Клиент, тест скорости к указанному IP
📌 Просмотр DHCP-записей (если работает dhclient)
cat /var/lib/dhcp/dhclient.leases
🔥 Полезные команды для быстрого анализа
ip a | grep inet # Быстрый просмотр IP-адресов
ss -ant | grep ESTAB # Список активных соединений
ip route get 8.8.8.8 # Проверить маршрут до IP
arp -a # Таблица ARP
@sysadmin1
👍7❤2🎉2⚡1🔥1
📌 Шпаргалка по основным командам терминала
🔹 Работа с файлами и каталогами
📂
📂
📂
📂
📂
📂
📂
📂
🔍 Поиск и фильтрация
🔎
🔎
🔎
🔎
💡 Полезные флаги:
✔
✔
✔
✔
@sysadmin1
🔹 Работа с файлами и каталогами
📂
ls – показать список файлов 📂
cd – перейти в каталог (cd /home/user/docs) 📂
pwd – текущий путь 📂
mkdir – создать папку (mkdir new_folder) 📂
rm – удалить файл (rm file.txt) 📂
rm -r – удалить папку (rm -r folder/) 📂
cp – копировать (cp file.txt backup/) 📂
mv – переместить/переименовать (mv old.txt new.txt) 🔍 Поиск и фильтрация
🔎
find – поиск файлов (find / -name "file.txt") 🔎
grep – поиск текста в файлах (grep "error" log.txt) 🔎
awk – работа с текстом (awk '{print $1}' file.txt) 🔎
sed – замена в файле (sed 's/old/new/g' file.txt') 💡 Полезные флаги:
✔
-r → рекурсивно ✔
-f → без запроса ✔
-i → с подтверждением ✔
-v → подробный вывод @sysadmin1
👍4⚡2🔥2🎉1🏆1
Шпаргалка по процессам и управлению ими в Linux
1. Просмотр процессов
-
-
-
-
2. Мониторинг процессов в реальном времени
-
-
-
-
-
-
-
-
-
3. Завершение процессов
-
-
-
-
-
4. Приоритеты процессов (nice, renice)
-
-
-
5. Управление службами (systemctl)
-
-
-
-
-
-
-
-
-
6. Управление процессами в фоне
-
-
-
-
-
-
7. Дополнительные команды
-
-
-
-
@sysadmin1
1. Просмотр процессов
-
ps aux — вывести список всех процессов с подробной информацией -
ps -ef — альтернативный формат списка процессов -
ps -u username — показать процессы конкретного пользователя -
ps -p PID — получить информацию о конкретном процессе 2. Мониторинг процессов в реальном времени
-
top — отображает список запущенных процессов в реальном времени -
Shift + M — сортировка по памяти -
Shift + P — сортировка по CPU -
k — завершить процесс по PID -
q — выход -
htop — улучшенный вариант top (устанавливается отдельно: sudo apt install htop) -
F5 — древовидное отображение процессов -
F9 — завершить процесс -
q — выход 3. Завершение процессов
-
kill PID — завершить процесс по его идентификатору -
kill -9 PID — принудительное завершение процесса (сигнал SIGKILL) -
killall process_name — завершить все процессы с указанным именем -
pkill process_name — завершить процесс по имени (аналог killall) -
xkill — позволяет кликнуть по окну для его завершения (устанавливается: sudo apt install x11-utils) 4. Приоритеты процессов (nice, renice)
-
nice -n 10 command — запустить команду с приоритетом +10 -
renice -n 5 -p PID — изменить приоритет процесса на +5 -
renice -n -10 -u username — изменить приоритет всех процессов пользователя 5. Управление службами (systemctl)
-
systemctl list-units --type=service — список активных служб -
systemctl start service — запустить службу -
systemctl stop service — остановить службу -
systemctl restart service — перезапустить службу -
systemctl status service — статус службы -
systemctl enable service — включить автозапуск службы -
systemctl disable service — отключить автозапуск службы -
systemctl mask service — полностью отключить службу -
systemctl unmask service — вернуть службу в рабочее состояние 6. Управление процессами в фоне
-
command & — запустить процесс в фоне -
jobs — список фоновых процессов -
fg %N — перевести процесс №N в передний план -
bg %N — перевести процесс №N в фоновый режим -
nohup command & — запустить процесс, игнорируя выход из системы -
disown -h %N — отключить процесс от терминала 7. Дополнительные команды
-
uptime — как долго работает система -
pidof process_name — получить PID процесса по имени -
watch -n 1 command — выполнять команду каждые 1 сек -
strace -p PID — трассировка системных вызовов процесса @sysadmin1
👍3🔥2🏆2⚡1❤1
📌Примеры типовых операций в bash-скриптах
1. Работа с переменными
2. Чтение ввода от пользователя
3. Условные операторы (if-else)
4. Циклы
4.1 Цикл for
4.2 Цикл while
5. Работа с аргументами
Запуск:
6. Работа с файлами
6.1 Проверка существования файла
6.2 Чтение файла построчно
7. Функции
8. Редиректы и работа с потоками
8.1 Запись вывода в файл
8.2 Добавление в файл
8.3 Перенаправление stderr в файл
8.4 Перенаправление stdout и stderr
9. Запуск команд и проверка их выполнения
10. Работа с массивами
11. Таймер / ожидание
12. Использование команд
12.1 Поиск строки в файле
12.2 Замена текста в файле (
12.3 Извлечение данных (
13. Фоновые процессы
14. Cron (Автоматический запуск скрипта)
Открыть cron:
Добавить задачу (например, запуск скрипта каждую минуту):
15. Остановка и завершение процессов
@sysadmin1
1. Работа с переменными
#!/bin/bash
name="Админ"
echo "Привет, $name!"
2. Чтение ввода от пользователя
#!/bin/bash
read -p "Введите ваше имя: " user_name
echo "Привет, $user_name!"
3. Условные операторы (if-else)
#!/bin/bash
read -p "Введите число: " num
if [ $num -gt 10 ]; then
echo "Число больше 10"
elif [ $num -eq 10 ]; then
echo "Число равно 10"
else
echo "Число меньше 10"
fi
4. Циклы
4.1 Цикл for
#!/bin/bash
for i in {1..5}; do
echo "Цикл $i"
done
4.2 Цикл while
#!/bin/bash
count=1
while [ $count -le 5 ]; do
echo "Счетчик: $count"
((count++))
done
5. Работа с аргументами
#!/bin/bash
echo "Первый аргумент: $1"
echo "Второй аргумент: $2"
echo "Все аргументы: $@"
echo "Количество аргументов: $#"
Запуск:
./script.sh arg1 arg26. Работа с файлами
6.1 Проверка существования файла
#!/bin/bash
file="test.txt"
if [ -f "$file" ]; then
echo "Файл существует"
else
echo "Файл не найден"
fi
6.2 Чтение файла построчно
#!/bin/bash
while IFS= read -r line; do
echo "Строка: $line"
done < "file.txt"
7. Функции
#!/bin/bash
function приветствие() {
echo "Привет, $1!"
}
приветствие "Админ"
8. Редиректы и работа с потоками
8.1 Запись вывода в файл
echo "Привет, мир!" > output.txt
8.2 Добавление в файл
echo "Новая строка" >> output.txt
8.3 Перенаправление stderr в файл
ls /не_существующая_папка 2> error.log
8.4 Перенаправление stdout и stderr
ls /не_существующая_папка > output.log 2>&1
9. Запуск команд и проверка их выполнения
#!/bin/bash
mkdir test_dir
if [ $? -eq 0 ]; then
echo "Папка успешно создана"
else
echo "Ошибка при создании папки"
fi
10. Работа с массивами
#!/bin/bash
arr=("яблоко" "банан" "апельсин")
echo "Первый элемент: ${arr[0]}"
echo "Все элементы: ${arr[@]}"
for fruit in "${arr[@]}"; do
echo "Фрукт: $fruit"
done
11. Таймер / ожидание
#!/bin/bash
echo "Ожидание 5 секунд..."
sleep 5
echo "Продолжаем работу!"
12. Использование команд
grep, awk, sed12.1 Поиск строки в файле
grep "поиск" файл.txt
12.2 Замена текста в файле (
sed)sed -i 's/старый/новый/g' файл.txt
12.3 Извлечение данных (
awk)awk '{print $2}' файл.txt13. Фоновые процессы
./долгий_скрипт.sh &
14. Cron (Автоматический запуск скрипта)
Открыть cron:
crontab -e
Добавить задачу (например, запуск скрипта каждую минуту):
* * * * * /home/user/script.sh
15. Остановка и завершение процессов
ps aux | grep my_script.sh # Найти процесс
kill 12345 # Убить процесс по PID
killall my_script.sh # Убить все процессы с таким именем
@sysadmin1
👍5❤2🎉2🔥1🤩1
🚀 Ускоряем загрузку Linux: Оптимизация системы
🔹 1. Анализ задержек при загрузке
Сначала нужно понять, что замедляет загрузку. Для этого используем команду:
Она покажет список сервисов и время их старта.
🔹 2. Отключение ненужных сервисов
Если есть службы, которые не нужны при загрузке, отключаем их:
Например, если не используете Bluetooth:
🔹 3. Оптимизация GRUB
Проверьте, сколько времени GRUB ждёт перед загрузкой:
Если там больше 5 секунд, можно уменьшить до 1-2 секунд:
🔹 4. Включение параллельной загрузки
Добавьте в
🔹 5. Очистка автозапуска
Просмотр списка автозапускаемых сервисов:
Отключаем всё ненужное!
После этих настроек ваш Linux будет загружаться быстрее, а сервер – работать эффективнее. 🚀
@sysadmin1
🔹 1. Анализ задержек при загрузке
Сначала нужно понять, что замедляет загрузку. Для этого используем команду:
systemd-analyze blame
Она покажет список сервисов и время их старта.
🔹 2. Отключение ненужных сервисов
Если есть службы, которые не нужны при загрузке, отключаем их:
sudo systemctl disable <service_name>
sudo systemctl mask <service_name>
Например, если не используете Bluetooth:
sudo systemctl disable bluetooth
🔹 3. Оптимизация GRUB
Проверьте, сколько времени GRUB ждёт перед загрузкой:
grep GRUB_TIMEOUT /etc/default/grub
Если там больше 5 секунд, можно уменьшить до 1-2 секунд:
sudo sed -i 's/GRUB_TIMEOUT=[0-9]\+/GRUB_TIMEOUT=2/' /etc/default/grub
sudo update-grub
🔹 4. Включение параллельной загрузки
Добавьте в
grub параметр quiet splash для ускорения загрузки: sudo sed -i 's/GRUB_CMDLINE_LINUX_DEFAULT="[^"]*/& quiet splash/' /etc/default/grub
sudo update-grub
🔹 5. Очистка автозапуска
Просмотр списка автозапускаемых сервисов:
systemctl list-unit-files --state=enabled
Отключаем всё ненужное!
После этих настроек ваш Linux будет загружаться быстрее, а сервер – работать эффективнее. 🚀
@sysadmin1
👍3🔥2🎉2❤1💯1
🔐 Права в Linux. Часть 1
📌 1. Базовые права доступа
Каждый файл и директория в Linux имеют владельца, группу и права доступа, которые задаются тремя наборами битов:
Формат прав:
Расшифровка:
-
-
-
-
⚙️ 2. Изменение прав:
Изменяет права доступа к файлу или директории.
📍 Символьный способ (
📍 Цифровой способ (восьмеричная нотация)
Каждое право обозначается числом:
-
-
-
Пример:
🏷 3. Изменение владельца:
Изменяет владельца и группу файла.
📍 Основные команды
🎭 4. Специальные биты (SUID, GUID, Sticky Bit)
🏆 SUID (Set User ID)
Если установлен на исполняемом файле, процесс выполняется от имени владельца файла, а не от имени пользователя, который его запустил.
Пример:
🏅 GUID (Set Group ID)
Если установлен на исполняемом файле, программа выполняется с правами группы файла.
Если установлен на директории, все созданные файлы наследуют группу директории.
Пример:
📌 Sticky Bit
Применяется к директориям, запрещая пользователям удалять чужие файлы в общем каталоге (например,
Пример:
@sysadmin1
📌 1. Базовые права доступа
Каждый файл и директория в Linux имеют владельца, группу и права доступа, которые задаются тремя наборами битов:
r (4) Чтение (read)w (2) Запись (write)x (1) Исполнение (execute)Формат прав:
-rwxr-xr-- 1 user group 1234 Feb 27 10:00 file.txt
Расшифровка:
-
- — тип файла (d — директория, - — обычный файл, l — ссылка и т. д.) -
rwx — права владельца -
r-x — права группы -
r-- — права остальных пользователей ⚙️ 2. Изменение прав:
chmodИзменяет права доступа к файлу или директории.
📍 Символьный способ (
+, -, =)
chmod u+x file.txt # Добавить владельцу право на выполнение
chmod g-w file.txt # Убрать у группы право на запись
chmod o=r file.txt # Установить права "только чтение" для остальных
chmod a+x script.sh # Сделать исполняемым для всех
📍 Цифровой способ (восьмеричная нотация)
Каждое право обозначается числом:
-
r = 4-
w = 2-
x = 1Пример:
chmod 755 script.sh # Владелец (7) - rwx, группа (5) - r-x, остальные (5) - r-x
chmod 644 file.txt # Владелец (6) - rw-, группа (4) - r--, остальные (4) - r--
🏷 3. Изменение владельца:
chownИзменяет владельца и группу файла.
📍 Основные команды
chown user file.txt # Изменить владельца
chown user:group file.txt # Изменить владельца и группу
chown :group file.txt # Изменить только группу
chown -R user:group dir/ # Рекурсивно изменить владельца/группу в каталоге
🎭 4. Специальные биты (SUID, GUID, Sticky Bit)
🏆 SUID (Set User ID)
Если установлен на исполняемом файле, процесс выполняется от имени владельца файла, а не от имени пользователя, который его запустил.
Пример:
chmod u+s /usr/bin/passwd # Установка SUID
ls -l /usr/bin/passwd
-rwsr-xr-x 1 root root 53232 Feb 27 10:00 /usr/bin/passwd
(s вместо x) у владельца обозначает, что активен SUID.🏅 GUID (Set Group ID)
Если установлен на исполняемом файле, программа выполняется с правами группы файла.
Если установлен на директории, все созданные файлы наследуют группу директории.
Пример:
chmod g+s directory/ # Установка SGID на директорию
chmod 2755 script.sh # Установка SGID через числовой код
ls -ld directory/
drwxr-sr-x 2 user group 4096 Feb 27 10:00 directory/
(s вместо x) у группы обозначает, что активен SGID.📌 Sticky Bit
Применяется к директориям, запрещая пользователям удалять чужие файлы в общем каталоге (например,
/tmp).Пример:
chmod +t /tmp # Установка Sticky Bit
chmod 1777 /tmp # Эквивалентная команда в числовом виде
ls -ld /tmp
drwxrwxrwt 10 root root 4096 Feb 27 10:00 /tmp
(t вместо x) у остальных означает, что активен Sticky Bit.@sysadmin1
🔥4👍2❤1🎉1💯1
🔐 Права в Linux. Часть 2
🔏 5. Расширенные ACL (Access Control List)
Позволяют задавать более гибкие права, чем стандартная система rwx.
📍 Проверка ACL
📍 Добавление прав пользователю
(Пользователь username получит права rw на файл.)
📍 Удаление прав у пользователя
📍 Наследование ACL в директориях
⚙️ 6. Маска
Определяет, какие права не будут установлены при создании новых файлов и директорий.
📍 Проверка текущегоерка ACL
📍 Задание нового Control
📌 Формула:
Пример:
- umask 022 → 666 - 022 = 644 (rw-r--r--)
- umask 077 → 666 - 077 = 600 (rw-------)
🛠 Быстрые команды для проверки и настройки прав
💡 Полезные ссылки:
-
-
-
-
@sysadmin1
🔏 5. Расширенные ACL (Access Control List)
Позволяют задавать более гибкие права, чем стандартная система rwx.
📍 Проверка ACL
getfacl file.txt
📍 Добавление прав пользователю
setfacl -m u:username:rw file.txt
(Пользователь username получит права rw на файл.)
📍 Удаление прав у пользователя
setfacl -x u:username file.txt
📍 Наследование ACL в директориях
setfacl -m d:u:username:rw directory/
⚙️ 6. Маска
umask (маска прав) Определяет, какие права не будут установлены при создании новых файлов и директорий.
📍 Проверка текущегоерка ACL
umask
📍 Задание нового Control
umask 022 # Новые файлы 644 (rw-r--r--), директории 755 (rwxr-xr-x)
umask 077 # Новые файлы 600 (rw-------), директории 700 (rwx------)
📌 Формула:
Права по умолчанию – umask = Итоговые права
Файлы: 666 – umask
Директории: 777 – umask
Пример:
- umask 022 → 666 - 022 = 644 (rw-r--r--)
- umask 077 → 666 - 077 = 600 (rw-------)
🛠 Быстрые команды для проверки и настройки прав
ls -l # Просмотр прав файлов
stat file.txt # Детальная информация о файле
chmod 750 file # Изменение прав файла
chown user:group file # Изменение владельца
setfacl -m u:username:rw file # Установка ACL
💡 Полезные ссылки:
-
man chmod-
man chown-
man setfacl-
man umask@sysadmin1
👍3🔥2❤1🎉1
Шпаргалка по Proxmox VE – мощной платформе для виртуализации на основе KVM и LXC с поддержкой кластеризации и Ceph.
🛠 Установка и настройка Proxmox
1. Загрузка ISO:
Скачать образ Proxmox VE и записать его на флешку (
2. Установка:
- Выбрать диск для установки.
- Задать пароль root и e-mail.
- Настроить сеть (можно оставить DHCP).
3. Доступ к Web-интерфейсу:
Открыть в браузере:
Логин: root, пароль – указанный при установке.
⚙️ Основные команды Proxmox
🔹 Работа с сервисами
🔹 Управление виртуальными машинами (VM)
🔹 Управление контейнерами (LXC)
📦 Хранилища и резервные копии
🔹 Подключение NFS-хранилища
🔹 Резервное копирование (VM и контейнеры)
🔹 Восстановление из резервной копии
⚡ Кластеризация и Ceph
🔹 Создание кластера
На главном узле:
На других узлах:
Проверка:
🔹 Ceph (для хранения данных)
Установка Ceph
Создание монитора Ceph
Добавление OSD-диска
🔧 Дополнительно
🔹 Удаление подписки Proxmox (убираем окно "No valid subscription")
🔹 Обновление Proxmox
🔹 Установка Webmin (удобная панель управления сервером)
После установки Webmin доступен на порту 10000:
@sysadmin1
🛠 Установка и настройка Proxmox
1. Загрузка ISO:
Скачать образ Proxmox VE и записать его на флешку (
Rufus, dd).2. Установка:
- Выбрать диск для установки.
- Задать пароль root и e-mail.
- Настроить сеть (можно оставить DHCP).
3. Доступ к Web-интерфейсу:
Открыть в браузере:
https://<IP-сервера>:8006
Логин: root, пароль – указанный при установке.
⚙️ Основные команды Proxmox
🔹 Работа с сервисами
systemctl restart pve-cluster # Перезапуск кластера
systemctl restart pvedaemon # Перезапуск веб-интерфейса
systemctl restart pveproxy # Перезапуск веб-прокси
systemctl restart pvestatd # Перезапуск статистики
🔹 Управление виртуальными машинами (VM)
qm list # Список всех ВМ
qm start <vmid> # Запуск ВМ
qm stop <vmid> # Остановка ВМ
qm shutdown <vmid> # Корректное выключение ВМ
qm config <vmid> # Просмотр конфигурации ВМ
qm snapshot <vmid> <name> # Создать снимок ВМ
qm restore <vmid> <backup> # Восстановление из резервной копии
🔹 Управление контейнерами (LXC)
pct list # Список контейнеров
pct start <ctid> # Запуск контейнера
pct stop <ctid> # Остановка контейнера
pct shutdown <ctid> # Корректное выключение контейнера
pct exec <ctid> -- <cmd> # Выполнить команду внутри контейнера
pct console <ctid> # Подключиться к консоли контейнера
📦 Хранилища и резервные копии
🔹 Подключение NFS-хранилища
pvesm add nfs <name> --server <IP> --export <path> --content images,backup
🔹 Резервное копирование (VM и контейнеры)
vzdump <vmid> --dumpdir /backup --mode snapshot
🔹 Восстановление из резервной копии
vzdump --restore <backupfile> <vmid>
⚡ Кластеризация и Ceph
🔹 Создание кластера
На главном узле:
pvecm create <cluster-name>
На других узлах:
pvecm add <master-ip>
Проверка:
pvecm status
🔹 Ceph (для хранения данных)
Установка Ceph
pveceph install
Создание монитора Ceph
pveceph create
pveceph mon create
pveceph mgr create
Добавление OSD-диска
pveceph osd create /dev/sdX
🔧 Дополнительно
🔹 Удаление подписки Proxmox (убираем окно "No valid subscription")
sed -i.bak "s|if (data.status !== 'Active')|if (false)|g" /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js
systemctl restart pveproxy
🔹 Обновление Proxmox
apt update && apt dist-upgrade -y
🔹 Установка Webmin (удобная панель управления сервером)
apt install -y wget
wget http://prdownloads.sourceforge.net/webadmin/webmin_2.101_all.deb
dpkg -i webmin_2.101_all.deb
apt --fix-broken install -y
После установки Webmin доступен на порту 10000:
https://<IP-сервера>:10000
@sysadmin1
❤2👍1🔥1🎉1
📌 Шпаргалка по управлению сервисами и демонами (systemctl, service, init.d)
🔹 Systemd (systemctl)
▶ Запуск, остановка, перезапуск сервиса
🛠 Статус сервиса
⚙️ Автозапуск при старте системы
📜 Логи сервиса
🔄 Перезагрузка Systemd
🔹 SysV Init (service, init.d)
Для старых систем без systemd (например, CentOS 6, Debian 7) используются SysV Init и скрипты в
▶ Запуск, остановка, перезапуск
🛠 Статус сервиса
⚙️ Автозапуск при старте системы
📂 Ручное управление через init.d
🔹 Upstart (service, initctl)
Использовался в Ubuntu 9.10 – 14.10.
▶ Управление сервисами
⚙️ Автозапуск
🔹 Дополнительно
🔍 Найти сервис в системе
🗑 Удаление сервиса
🔥 Совет:
Если не знаете, какой менеджер используется в вашей системе, выполните:
Если ответ
@sysadmin1
🔹 Systemd (systemctl)
systemctl — основная утилита для управления сервисами в системах с Systemd (например, Ubuntu 16+, CentOS 7+, Debian 8+).▶ Запуск, остановка, перезапуск сервиса
systemctl start <service> # Запустить сервис
systemctl stop <service> # Остановить сервис
systemctl restart <service> # Перезапустить сервис
systemctl reload <service> # Перезагрузить конфигурацию без остановки
systemctl reload-or-restart <service> # Перезапустить, если нельзя перезагрузить
🛠 Статус сервиса
systemctl status <service> # Проверить статус сервиса
systemctl is-active <service> # Проверить, запущен ли сервис (active/inactive)
systemctl is-enabled <service> # Проверить, включен ли сервис при загрузке (enabled/disabled)
⚙️ Автозапуск при старте системы
systemctl enable <service> # Включить автозапуск
systemctl disable <service> # Отключить автозапуск
systemctl mask <service> # Запретить запуск сервиса
systemctl unmask <service> # Разрешить запуск сервиса
📜 Логи сервиса
journalctl -u <service> # Показать логи сервиса
journalctl -xe # Посмотреть детальные ошибки и события
journalctl --since "30 min ago" -u <service> # Логи за последние 30 минут
🔄 Перезагрузка Systemd
systemctl daemon-reexec # Перезапустить systemd без перезагрузки системы
systemctl daemon-reload # Обновить конфигурацию сервисов
🔹 SysV Init (service, init.d)
Для старых систем без systemd (например, CentOS 6, Debian 7) используются SysV Init и скрипты в
/etc/init.d/.▶ Запуск, остановка, перезапуск
service <service> start # Запустить сервис
service <service> stop # Остановить сервис
service <service> restart # Перезапустить сервис
service <service> reload # Перезагрузить конфигурацию без остановки
🛠 Статус сервиса
service <service> status # Проверить статус сервиса
⚙️ Автозапуск при старте системы
chkconfig <service> on # Включить автозапуск
chkconfig <service> off # Отключить автозапуск
chkconfig --list <service> # Проверить, включен ли сервис при старте
📂 Ручное управление через init.d
/etc/init.d/<service> start # Запустить сервис
/etc/init.d/<service> stop # Остановить сервис
/etc/init.d/<service> restart # Перезапустить сервис
/etc/init.d/<service> status # Проверить статус
🔹 Upstart (service, initctl)
Использовался в Ubuntu 9.10 – 14.10.
▶ Управление сервисами
service <service> start # Запустить сервис
service <service> stop # Остановить сервис
service <service> restart # Перезапустить сервис
service <service> status # Проверить статус сервиса
initctl list # Список всех сервисов
⚙️ Автозапуск
echo "manual" | sudo tee /etc/init/<service>.override # Отключить автозапуск
sudo rm /etc/init/<service>.override # Включить автозапуск
🔹 Дополнительно
🔍 Найти сервис в системе
systemctl list-units --type=service # Список всех сервисов
systemctl list-unit-files | grep enabled # Все включенные сервисы
🗑 Удаление сервиса
systemctl disable <service>
systemctl stop <service>
rm -f /etc/systemd/system/<service>.service
systemctl daemon-reload
🔥 Совет:
Если не знаете, какой менеджер используется в вашей системе, выполните:
ps --pid 1 -o comm=
Если ответ
systemd → используйте systemctl, если init → service или init.d.@sysadmin1
❤1👍1🔥1👏1
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1👍1🔥1👏1🎉1
📌 Файлы конфигурации сети в Linux
1️⃣ /etc/resolv.conf – Настройки DNS
🔹 Основные директивы:
-
-
-
🔹 Пример:
⚠️ Важно! В системах с NetworkManager или systemd-resolved
Проверить:
2️⃣ /etc/hosts – Сопоставление IP и доменных имен
🔹 Используется для локального DNS-резолвинга.
🔹 Пример:
📌 Применение:
- Подмена IP-адресов для тестирования
- Ускорение доступа к локальным ресурсам
3️⃣ /etc/network/interfaces (Debian-based) – Настройки сетевых интерфейсов
🔹 Используется в Debian, Ubuntu (если не задействован NetworkManager)
🔹 Пример настройки статического IP:
💡 Основные параметры:
-
-
-
-
-
4️⃣ NetworkManager – Современный способ управления сетью
🔹 Конфиги хранятся в
🔹 Использует nmcli, nmtui для настройки
🔹 Пример подключения к Wi-Fi:
🔹 Проверка статуса сетевого подключения:
🔹 Настройка статического IP:
⚠️ Важно! В CentOS/RHEL используется
📌 Проверка сетевого соединения:
🔹 Где еще могут храниться настройки?
-
-
📢 Используйте правильный инструмент для вашей ОС и следите за тем, чтобы изменения в конфигах не перезаписывались сервисами! 🚀
@sysadmin1
1️⃣ /etc/resolv.conf – Настройки DNS
🔹 Основные директивы:
-
nameserver <IP> – Указывает DNS-сервер -
search <домен> – Определяет домен по умолчанию -
options <параметры> – Дополнительные настройки (например, timeout:2) 🔹 Пример:
nameserver 8.8.8.8
nameserver 1.1.1.1
search example.com
options timeout:2 attempts:3
⚠️ Важно! В системах с NetworkManager или systemd-resolved
resolv.conf может перезаписываться! Проверить:
ls -l /etc/resolv.conf (если это симлинк – управляется сервисом). 2️⃣ /etc/hosts – Сопоставление IP и доменных имен
🔹 Используется для локального DNS-резолвинга.
🔹 Пример:
127.0.0.1 localhost
192.168.1.10 server.localdomain server
📌 Применение:
- Подмена IP-адресов для тестирования
- Ускорение доступа к локальным ресурсам
3️⃣ /etc/network/interfaces (Debian-based) – Настройки сетевых интерфейсов
🔹 Используется в Debian, Ubuntu (если не задействован NetworkManager)
🔹 Пример настройки статического IP:
auto eth0
iface eth0 inet static
address 192.168.1.100
netmask 255.255.255.0
gateway 192.168.1.1
dns-nameservers 8.8.8.8 1.1.1.1
💡 Основные параметры:
-
auto <интерфейс> – Автозапуск при загрузке -
iface <интерфейс> inet <тип> – static, dhcp, manual -
address <IP> – Статический IP -
gateway <IP> – Шлюз -
dns-nameservers <IP> – DNS-серверы 4️⃣ NetworkManager – Современный способ управления сетью
🔹 Конфиги хранятся в
/etc/NetworkManager/ 🔹 Использует nmcli, nmtui для настройки
🔹 Пример подключения к Wi-Fi:
nmcli device wifi list
nmcli device wifi connect "MySSID" password "MySecretPass"
🔹 Проверка статуса сетевого подключения:
nmcli general status
nmcli connection show
🔹 Настройка статического IP:
nmcli con mod eth0 ipv4.addresses 192.168.1.100/24
nmcli con mod eth0 ipv4.gateway 192.168.1.1
nmcli con mod eth0 ipv4.dns "8.8.8.8 1.1.1.1"
nmcli con mod eth0 ipv4.method manual
nmcli con up eth0
⚠️ Важно! В CentOS/RHEL используется
nmcli, а в Ubuntu/Debian – netplan. 📌 Проверка сетевого соединения:
ping -c 4 8.8.8.8 # Проверка связи с сервером
dig google.com # Проверка DNS
ip a # Вывод IP-адресов интерфейсов
🔹 Где еще могут храниться настройки?
-
/etc/netplan/*.yaml – В Ubuntu 18.04+ (заменил /etc/network/interfaces) -
/etc/sysconfig/network-scripts/ifcfg-* – В CentOS/RHEL 📢 Используйте правильный инструмент для вашей ОС и следите за тем, чтобы изменения в конфигах не перезаписывались сервисами! 🚀
@sysadmin1
🔥2🤩2👌2🎉1🏆1
Please open Telegram to view this post
VIEW IN TELEGRAM
⚡2❤2👍2🔥2🏆1
🎯 Мониторинг загрузки процессора и уведомление в Telegram 🎯
Сервер начал тормозить, а вы не знаете почему? 🤔 Напишите скрипт, который мониторит загрузку CPU и при превышении порога отправляет уведомление в Telegram!
📌 Скрипт для мониторинга CPU и отправки уведомлений
🔹 Как использовать?
1️⃣ Сохраните скрипт в файл, например,
2️⃣ Дайте права на выполнение:
3️⃣ Добавьте в
Добавьте строку:
Теперь при высокой нагрузке процессора вы получите уведомление в Telegram и сможете быстро принять меры! 🚀
@sysadmin1
Сервер начал тормозить, а вы не знаете почему? 🤔 Напишите скрипт, который мониторит загрузку CPU и при превышении порога отправляет уведомление в Telegram!
📌 Скрипт для мониторинга CPU и отправки уведомлений
#!/bin/bash
# Порог загрузки CPU в процентах
THRESHOLD=80
# Токен бота и ID чата в Telegram
TELEGRAM_BOT_TOKEN="your_bot_token"
CHAT_ID="your_chat_id"
# Получаем среднюю загрузку CPU за 1 минуту
CPU_LOAD=$(awk '{print $1}' /proc/loadavg | awk '{print int($1)}')
# Проверяем, превышен ли порог
if [ "$CPU_LOAD" -ge "$THRESHOLD" ]; then
MESSAGE="⚠️ Внимание! Высокая загрузка CPU: ${CPU_LOAD}%"
curl -s -X POST "https://api.telegram.org/bot$TELEGRAM_BOT_TOKEN/sendMessage" \
-d chat_id="$CHAT_ID" \
-d text="$MESSAGE"
fi
🔹 Как использовать?
1️⃣ Сохраните скрипт в файл, например,
cpu_monitor.sh. 2️⃣ Дайте права на выполнение:
chmod +x cpu_monitor.sh
3️⃣ Добавьте в
cron для проверки каждые 5 минут: crontab -e
Добавьте строку:
*/5 * * * * /path/to/cpu_monitor.sh
Теперь при высокой нагрузке процессора вы получите уведомление в Telegram и сможете быстро принять меры! 🚀
@sysadmin1
❤2👍1🔥1🎉1