fa
Feedback
Bash Советы

Bash Советы

رفتن به کانال در Telegram

🚀 Секреты и советы по Bash 🔹 Полезные трюки, хитрые однострочники и лайфхаки для работы в терминале. 🔹 Автоматизация, скрипты и оптимизация работы в Linux. 🔹 Стать мастером Bash легко – просто подпишись! По всем вопросам @evgenycarter

نمایش بیشتر
2 747
مشترکین
-124 ساعت
-57 روز
-1330 روز
آرشیو پست ها
📌 Bash-скрипт для автоматического бэкапа MySQL с ротацией Накидал пример простого скрипта для автоматического бэкапа базы, ч
📌 Bash-скрипт для автоматического бэкапа MySQL с ротацией Накидал пример простого скрипта для автоматического бэкапа базы, чтобы всегда была свежая копия, но при этом не захламлять диск старыми дампами.

#!/bin/bash
# Параметры
# автор: https://t.me/bash_srv
DB_USER="root"
DB_PASS="password"
DB_NAME="my_database"
BACKUP_DIR="/backup/mysql"
DATE=$(date +"%Y-%m-%d_%H-%M-%S")

# Создаём директорию для бэкапов, если нет
mkdir -p "$BACKUP_DIR"

# Делаем дамп базы
mysqldump -u"$DB_USER" -p"$DB_PASS" "$DB_NAME" > "$BACKUP_DIR/${DB_NAME}_${DATE}.sql"

# Оставляем только 7 последних бэкапов, остальные удаляем
ls -1t "$BACKUP_DIR"/*.sql | tail -n +8 | xargs -r rm --

echo "✅ Бэкап базы $DB_NAME создан: ${DB_NAME}_${DATE}.sql"
Как использовать: 1. Сохраните скрипт, например в /usr/local/bin/mysql_backup.sh. 2. Дайте права на выполнение:

   chmod +x /usr/local/bin/mysql_backup.sh
   
3. Добавьте в cron, чтобы бэкап делался каждый день в 3 ночи:

   0 3 * * * /usr/local/bin/mysql_backup.sh
   
📦 В результате вы всегда будете иметь 7 последних бэкапов, а старые будут удаляться автоматически. 📲 Мы в MAX 👉@bash_srv

🎯 Мониторинг занятости диска с алертом на почту 📬 Хотите, чтобы сервер сам предупреждал вас при нехватке свободного места н
🎯 Мониторинг занятости диска с алертом на почту 📬 Хотите, чтобы сервер сам предупреждал вас при нехватке свободного места на диске? Никидал простой bash-скрипт, который отправит письмо, если свободного места останется меньше 10%:

#!/bin/bash
# автор: https://t.me/bash_srv

# Порог в % (если меньше — шлём алерт)
THRESHOLD=10
EMAIL="admin@example.com"

# Получаем список всех точек монтирования
df -hP | grep -vE '^Filesystem' | while read line; do
  USAGE=$(echo $line | awk '{print $5}' | tr -d '%')
  MOUNT=$(echo $line | awk '{print $6}')
  
  if [ "$USAGE" -ge $((100 - THRESHOLD)) ]; then
    echo -e "На сервере $(hostname)\nМонтирование: $MOUNT\nЗанято: $USAGE%" | \
    mail -s "⚠️ Мало места на диске $MOUNT" "$EMAIL"
  fi
done
📌 Как использовать: 1. Убедитесь, что установлен mailx (или mail). 2. Измените переменную EMAIL на свой адрес. 3. Добавьте скрипт в cron, чтобы он выполнялся, например, каждый час. 🛡️ Так вы всегда будете в курсе, что диск переполняется, до того как сервер упадёт 🚨 📲 Мы в MAX 👉@bash_srv

🚀 Подборка полезных IT каналов в Max Системное администрирование, DevOps 📌 https://max.ru/i_odmin Все для системного администратора https://max.ru/bash_srv Bash Советы https://max.ru/sysadminof Книги для админов, полезные материалы https://max.ru/i_odmin_book Библиотека Системного Администратора https://max.ru/i_devops DevOps: Пишем о Docker, Kubernetes и др. 1C разработка 📌 https://max.ru/odin1c_rus Cтатьи, курсы, советы, шаблоны кода 1С Программирование C++📌 https://max.ru/cpp_lib Библиотека C/C++ разработчика Программирование Go📌 https://max.ru/golang_lib Библиотека Go (Golang) разработчика Программирование React📌 https://max.ru/react_lib React Программирование Python 📌 https://max.ru/python_of Python академия. https://max.ru/BookPython Библиотека Python разработчика Java разработка 📌 https://max.ru/bookjava Библиотека Java разработчика GitHub Сообщество 📌 https://max.ru/githublib Интересное из GitHub Базы данных (Data Base) 📌 https://max.ru/database_info Все про базы данных Фронтенд разработка 📌 https://max.ru/frontend_1 Подборки для frontend разработчиков Библиотеки 📌 https://max.ru/programmist_of Книги по программированию https://max.ru/proglb Библиотека программиста https://max.ru/bfbook Книги для программистов Программирование 📌 https://max.ru/bookflow Лекции, видеоуроки, доклады с IT конференций https://max.ru/itmozg Программисты, дизайнеры, новости из мира IT https://max.ru/php_lib Библиотека PHP программиста 👨🏼‍💻👩‍💻 Шутки программистов 📌 https://max.ru/itumor Шутки программистов Защита, взлом, безопасность 📌 https://max.ru/thehaking Канал о кибербезопасности https://max.ru/xakkep_1 Хакер Free Книги, статьи для дизайнеров 📌 https://max.ru/odesigners Статьи, книги для дизайнеров Математика 📌 https://max.ru/Pomatematike Канал по математике https://max.ru/phismat_1 Обучающие видео, книги по Физике и Математике Вакансии 📌 https://max.ru/progjob Вакансии в IT Мир технологий 📌 https://max.ru/mir_teh Канал для любознательных Бонус 📌 https://max.ru/piterspb_78 Свежие новости Санкт-Петербурга https://max.ru/mockva_life Свежие новости Москвы

🛜 Быстрое сканирование сети с выводом живых хостов Иногда нужно быстро узнать, какие устройства сейчас активны в сети. Вмест
🛜 Быстрое сканирование сети с выводом живых хостов Иногда нужно быстро узнать, какие устройства сейчас активны в сети. Вместо тяжёлых сканеров можно использовать пару строк на bash.

#!/bin/bash
# Быстрое сканирование сети (замени 192.168.1 на свою подсеть)
# автор: https://t.me/bash_srv
SUBNET="192.168.1"

for i in {1..254}; do
    (
        ping -c1 -W1 $SUBNET.$i &>/dev/null && echo "$SUBNET.$i доступен"
    ) &
done
wait
Что делает скрипт? - Перебирает адреса от 192.168.1.1 до 192.168.1.254 - Параллельно пингует их с таймаутом 1 секунда - Выводит только живые хосты ⚡ В 10-20 раз быстрее обычного пинга благодаря параллельному запуску! Попробуй сохранить скрипт как scan.sh, сделать его исполняемым (chmod +x scan.sh) и запустить. 📲 Мы в MAX 👉@bash_srv

🔄 Мониторинг доступности сайта с уведомлением в Telegram Хотите знать, когда ваш сайт «упал»? Ниже написал простой Bash-скри
🔄 Мониторинг доступности сайта с уведомлением в Telegram Хотите знать, когда ваш сайт «упал»? Ниже написал простой Bash-скрипт, который проверяет доступность ресурса и шлёт уведомление в Telegram.

#!/bin/bash
# автор: https://t.me/bash_srv

# Настройки
URL="https://example.com"
BOT_TOKEN="123456789:ABCDEF1234567890abcdef1234567890"
CHAT_ID="987654321"

# Проверка доступности
HTTP_CODE=$(curl -s -o /dev/null -w "%{http_code}" "$URL")

if [ "$HTTP_CODE" -ne 200 ]; then
    MESSAGE="⚠️ Сайт $URL недоступен! Код ответа: $HTTP_CODE"
    curl -s -X POST "https://api.telegram.org/bot$BOT_TOKEN/sendMessage" \
        -d chat_id="$CHAT_ID" \
        -d text="$MESSAGE"
fi
Как использовать: 1. Вставьте ваш BOT_TOKEN и CHAT_ID. 2. Сохраните скрипт, например, /usr/local/bin/check_site.sh. 3. Добавьте в cron (каждые 5 минут):

   */5 * * * * /usr/local/bin/check_site.sh
   
Теперь вы сразу узнаете, если сайт станет недоступен. 📲 Мы в MAX 👉@bash_srv

🔥 Регулярки для админов — Часть 2 Сегодня поговорим про замену и обработку данных с помощью sed 1. Маскирование конфиденциал
🔥 Регулярки для админов — Часть 2 Сегодня поговорим про замену и обработку данных с помощью sed 1. Маскирование конфиденциальных данных (пароли, токены)

sed -E 's/(password|token)=\S+/\1=***HIDDEN***/g' config.txt
Что делает: - Находит password=что-то или token=что-то. - Заменяет значение на ***HIDDEN***. 2. Удалить все цифры из файла

sed -E 's/[0-9]+//g' file.txt
Что делает: - [] — диапазон символов. - + — одно или больше вхождений. 3. Быстро поменять домен в конфиге

sed -E 's/(server_name\s+).*/\1newdomain.com/' /etc/nginx/sites-available/site.conf
Что делает: - Захватывает server_name и всё после него. - Заменяет домен на newdomain.com. 4. Удалить строки, содержащие определённые слова

sed -E '/(DEBUG|TRACE)/d' app.log
Что делает: - /(...)/d — удаляет строки, содержащие DEBUG или TRACE. 📲 Мы в MAX 👉@bash_srv

🔥 Регулярки для админов 1. Быстро найти IP-адреса в логе grep -Eo '([0-9]{1,3}\.){3}[0-9]{1,3}' /var/log/nginx/access.log Чт
🔥 Регулярки для админов 1. Быстро найти IP-адреса в логе

grep -Eo '([0-9]{1,3}\.){3}[0-9]{1,3}' /var/log/nginx/access.log
Что делает: - Ищет шаблон “число.число.число.число” — IPv4-адрес. - -o выводит только совпадения, без лишнего текста. 2. Удалить пустые строки и комментарии из конфигов

grep -Ev '^\s*#|^\s*$' /etc/nginx/nginx.conf
Что делает: - ^\s*# — строки, начинающиеся с # (комментарии). - ^\s*$ — пустые строки. 3. Найти строки с ошибками в логах

grep -Ei 'error|fail|critical' /var/log/syslog
Что делает: - Ищет ключевые слова ошибок без учёта регистра. - Можно расширить список слов через |. 📲 Мы в MAX 👉@bash_srv

🔍 10 полезных регулярных выражений для админов Регулярки — мощный инструмент для поиска и обработки текста в Linux. # 1. Най
🔍 10 полезных регулярных выражений для админов Регулярки — мощный инструмент для поиска и обработки текста в Linux.

# 1. Найти все IP-адреса в файле
grep -Eo '([0-9]{1,3}\.){3}[0-9]{1,3}' file.log

# 2. Найти строки с email-адресами
grep -E '[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}' file.txt

# 3. Удалить пустые строки
sed -i '/^$/d' file.txt

# 4. Найти строки, начинающиеся с #
grep -E '^#' file.conf

# 5. Найти строки, не содержащие слово ERROR
grep -Ev 'ERROR' file.log

# 6. Заменить все цифры на символ *
sed -E 's/[0-9]/*/g' file.txt

# 7. Удалить комментарии и пустые строки
grep -Ev '^\s*#|^\s*$' file.conf

# 8. Найти все URL
grep -Eo 'https?://[^ ]+' file.txt

# 9. Найти строки длиной больше 100 символов
grep -E '.{100,}' file.txt

# 10. Извлечь доменные имена из email
grep -Eo '@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}' file.txt
💡Тестируйте регулярки в реальном времени с grep -E или онлайн-сервисами типа regex101.com. 📲 Мы в MAX 👉@bash_srv

💡 Быстрый поиск и замена в куче файлов Нужно массово заменить строку в сотне конфигов? Вот скрипт: #!/bin/bash # автор: http
💡 Быстрый поиск и замена в куче файлов Нужно массово заменить строку в сотне конфигов? Вот скрипт:

#!/bin/bash
# автор: https://t.me/bash_srv

# Директория для поиска
DIR="/etc/nginx"
# Что ищем
SEARCH="server_name old.example.com"
# На что меняем
REPLACE="server_name new.example.com"

# Ищем и заменяем
grep -rl "$SEARCH" "$DIR" | xargs sed -i "s|$SEARCH|$REPLACE|g"

echo "✅ Замена '$SEARCH' на '$REPLACE' выполнена в $DIR"
Как это работает: grep -rl — ищет файлы с нужной строкой xargs sed -i — делает замену прямо в них 🔥 Очень удобно для правки конфигов и скриптов пачками. 📲 Мы в MAX 👉@bash_srv

💡 Следим за изменениями в файлах в реальном времени 👁️📂 Хочешь узнать, кто и когда правит важные файлы? Используй inotifyw
💡 Следим за изменениями в файлах в реальном времени 👁️📂 Хочешь узнать, кто и когда правит важные файлы? Используй inotifywait из пакета inotify-tools:

inotifywait -m -e modify,create,delete /etc
🔍 Что делает команда: -m — режим мониторинга (не завершает выполнение). -e modify,create,delete — следит за изменениями, созданием и удалением. /etc — каталог для наблюдения (можно заменить на любой другой). 🛠 Установка на Debian/Ubuntu:

sudo apt install inotify-tools
📋 Отличный способ держать под контролем конфиги, особенно в чувствительных зонах, вроде /etc/ssh. 📲 Мы в MAX 👉@bash_srv

🚀 Подборка полезных IT каналов в Max Системное администрирование, DevOps 📌 https://max.ru/i_odmin Все для системного администратора https://max.ru/bash_srv Bash Советы https://max.ru/sysadminof Книги для админов, полезные материалы https://max.ru/i_odmin_book Библиотека Системного Администратора https://max.ru/i_devops DevOps: Пишем о Docker, Kubernetes и др. 1C разработка 📌 https://max.ru/odin1c_rus Cтатьи, курсы, советы, шаблоны кода 1С Программирование C++📌 https://max.ru/cpp_lib Библиотека C/C++ разработчика Программирование Python 📌 https://max.ru/python_of Python академия. https://max.ru/BookPython Библиотека Python разработчика Java разработка 📌 https://max.ru/bookjava Библиотека Java разработчика GitHub Сообщество 📌 https://max.ru/githublib Интересное из GitHub Базы данных (Data Base) 📌 https://max.ru/database_info Все про базы данных Фронтенд разработка 📌 https://max.ru/frontend_1 Подборки для frontend разработчиков Библиотеки 📌 https://max.ru/programmist_of Книги по программированию https://max.ru/proglb Библиотека программиста https://max.ru/bfbook Книги для программистов Программирование 📌 https://max.ru/bookflow Лекции, видеоуроки, доклады с IT конференций https://max.ru/itmozg Программисты, дизайнеры, новости из мира IT https://max.ru/php_lib Библиотека PHP программиста 👨🏼‍💻👩‍💻 Шутки программистов 📌 https://max.ru/itumor Шутки программистов Защита, взлом, безопасность 📌 https://max.ru/thehaking Канал о кибербезопасности https://max.ru/xakkep_1 Хакер Free Книги, статьи для дизайнеров 📌 https://max.ru/odesigners Статьи, книги для дизайнеров Математика 📌 https://max.ru/Pomatematike Канал по математике https://max.ru/phismat_1 Обучающие видео, книги по Физике и Математике Вакансии 📌 https://max.ru/progjob Вакансии в IT Мир технологий 📌 https://max.ru/mir_teh Канал для любознательных Бонус 📌 https://max.ru/piterspb_78 Свежие новости Санкт-Петербурга https://max.ru/mockva_life Свежие новости Москвы

🧪 Проверка HTTP-статуса сайта из Bash Небольшой скрипт, который поможет проверить доступность сайта и его HTTP-статус. Особе
🧪 Проверка HTTP-статуса сайта из Bash Небольшой скрипт, который поможет проверить доступность сайта и его HTTP-статус. Особенно полезно для мониторинга внешних ресурсов или своих веб-приложений.

#!/bin/bash
# автор: https://t.me/bash_srv

URL="https://example.com"

STATUS_CODE=$(curl -s -o /dev/null -w "%{http_code}" "$URL")

if [[ "$STATUS_CODE" -eq 200 ]]; then
  echo "✅ Сайт доступен: $URL (HTTP $STATUS_CODE)"
else
  echo "⚠️ Проблема с сайтом: $URL (HTTP $STATUS_CODE)"
fi
🛠 Что делает скрипт: - Тихо запрашивает URL (-s -o /dev/null) - Выводит только HTTP-код (-w "%{http_code}") - Показывает статус: доступен ли сайт или нет 📌 Можно добавить в cron для регулярной проверки! 📲 Мы в MAX 👉@bash_srv

🧠 Быстрый просмотр SSL-сертификата домена Нужно быстро проверить срок действия SSL-сертификата у удалённого сайта без браузе
🧠 Быстрый просмотр SSL-сертификата домена Нужно быстро проверить срок действия SSL-сертификата у удалённого сайта без браузера?

echo | openssl s_client -servername example.com -connect example.com:443 2>/dev/null | openssl x509 -noout -dates
📌 Покажет строки вида:
notBefore=Jun  1 00:00:00 2024 GMT  
notAfter=Aug 30 23:59:59 2024 GMT
🔒 Хочешь только дату окончания? Добавь | grep notAfter 📦 Убедись, что установлен openssl 💡 Подходит для мониторинга и ручной проверки валидности сертификатов. 📲 Мы в MAX 👉@bash_srv

⚙️ Быстрое сравнение файлов на серверах 🔁 Нужно сравнить конфиги или скрипты на двух серверах? Вместо ручного копирования —
⚙️ Быстрое сравнение файлов на серверах 🔁 Нужно сравнить конфиги или скрипты на двух серверах? Вместо ручного копирования — вот способ сделать это с помощью ssh и diff:

diff <(cat /etc/nginx/nginx.conf) <(ssh user@remote-server 'cat /etc/nginx/nginx.conf')
🔍 Что делает: - Сравнивает файл на локальном сервере с файлом на удалённом - Показывает различия, как обычный diff 💡 Удобно для: - Проверки целостности конфигов - Поиска отличий после миграции - Аудита изменений 📦 Работает с любыми текстовыми файлами. Поддерживает также sudo внутри ssh:

diff <(cat /etc/fstab) <(ssh user@remote 'sudo cat /etc/fstab')
🧠 Совет: если нужно сравнивать много файлов — оберните в скрипт и перебирайте пути в цикле. 👉@bash_srv

🚀 Подборка полезных IT каналов в Max Системное администрирование, DevOps 📌 https://max.ru/i_odmin Все для системного администратора https://max.ru/bash_srv Bash Советы https://max.ru/sysadminof Книги для админов, полезные материалы https://max.ru/i_odmin_book Библиотека Системного Администратора https://max.ru/i_devops DevOps: Пишем о Docker, Kubernetes и др. 1C разработка 📌 https://max.ru/odin1c_rus Cтатьи, курсы, советы, шаблоны кода 1С Программирование C++📌 https://max.ru/cpp_lib Библиотека C/C++ разработчика Программирование Python 📌 https://max.ru/python_of Python академия. https://max.ru/BookPython Библиотека Python разработчика Java разработка 📌 https://max.ru/bookjava Библиотека Java разработчика GitHub Сообщество 📌 https://max.ru/githublib Интересное из GitHub Базы данных (Data Base) 📌 https://max.ru/database_info Все про базы данных Фронтенд разработка 📌 https://max.ru/frontend_1 Подборки для frontend разработчиков Библиотеки 📌 https://max.ru/programmist_of Книги по программированию https://max.ru/proglb Библиотека программиста https://max.ru/bfbook Книги для программистов Программирование 📌 https://max.ru/bookflow Лекции, видеоуроки, доклады с IT конференций https://max.ru/itmozg Программисты, дизайнеры, новости из мира IT https://max.ru/php_lib Библиотека PHP программиста 👨🏼‍💻👩‍💻 Шутки программистов 📌 https://max.ru/itumor Шутки программистов Защита, взлом, безопасность 📌 https://max.ru/thehaking Канал о кибербезопасности https://max.ru/xakkep_1 Хакер Free Книги, статьи для дизайнеров 📌 https://max.ru/odesigners Статьи, книги для дизайнеров Математика 📌 https://max.ru/Pomatematike Канал по математике https://max.ru/phismat_1 Обучающие видео, книги по Физике и Математике Вакансии 📌 https://max.ru/progjob Вакансии в IT Мир технологий 📌 https://max.ru/mir_teh Канал для любознательных Бонус 📌 https://max.ru/piterspb_78 Свежие новости Санкт-Петербурга https://max.ru/mockva_life Свежие новости Москвы

💥 Автоматическая блокировка IP при большом количестве запросов 🛡️👮‍♂️ Если на сервере замечена подозрительная активность (
💥 Автоматическая блокировка IP при большом количестве запросов 🛡️👮‍♂️ Если на сервере замечена подозрительная активность (например, слишком много запросов от одного IP), можно автоматически блокировать таких «шумных» клиентов с помощью iptables и awk:

#!/bin/bash
# автор: https://t.me/bash_srv

# Лимит запросов за минуту
LIMIT=100
# Лог файл nginx или apache
LOG_FILE="/var/log/nginx/access.log"

# Найдём IP, превысившие лимит
awk '{print $1}' "$LOG_FILE" | sort | uniq -c | sort -nr | awk -v limit="$LIMIT" '$1 > limit {print $2}' | while read ip; do
  # Проверим, не заблокирован ли уже
  if ! iptables -L INPUT -v -n | grep -q "$ip"; then
    iptables -A INPUT -s "$ip" -j DROP
    echo "$(date): Заблокирован IP $ip" >> /var/log/ip_block.log
  fi
done
📌 Что делает скрипт: - Анализирует access.log - Находит IP с количеством запросов > LIMIT - Блокирует их через iptables 🧠 Советы: - Запускай раз в 5 минут через cron - Убедись, что iptables доступен и ты не блокируешь свой IP 📲 Мы в MAX 👉@bash_srv

🧠 Проверка, запущен ли процесс Иногда нужно быстро проверить, работает ли нужный процесс — например, nginx, postgres или люб
🧠 Проверка, запущен ли процесс Иногда нужно быстро проверить, работает ли нужный процесс — например, nginx, postgres или любой другой. Вот удобная bash-функция:

check_proc() {
  local PROC_NAME="$1"
  if pgrep -x "$PROC_NAME" > /dev/null; then
    echo "✅ Процесс '$PROC_NAME' запущен"
  else
    echo "❌ Процесс '$PROC_NAME' не найден"
  fi
}
📌 Как использовать:

check_proc nginx
check_proc sshd
Добавь это в свой ~/.bashrc или ~/.bash_profile, чтобы всегда иметь под рукой 🔧 💡 Работает для процессов с точным именем. Хочешь более гибкий поиск — используй pgrep "$PROC_NAME" без -x. 📲 Мы в MAX 👉@bash_srv

📌 Мониторинг процессов с высоким потреблением CPU Скрипт, который покажет топ-5 процессов по загрузке CPU. ps -eo pid,comm,%
📌 Мониторинг процессов с высоким потреблением CPU Скрипт, который покажет топ-5 процессов по загрузке CPU.

ps -eo pid,comm,%cpu --sort=-%cpu | head -n 6
🔍 Что делает этот скрипт: ⚫️ps -eo pid,comm,%cpu — выводит PID, команду и использование CPU. ⚫️--sort=-%cpu — сортирует по убыванию загрузки CPU. ⚫️head -n 6 — берёт первые 5 процессов + строка заголовков. 💡 Можно повесить это на cron или закинуть в watch, чтобы отслеживать в реальном времени:

watch -n 5 'ps -eo pid,comm,%cpu --sort=-%cpu | head -n 6'
📲 Мы в MAX 👉@bash_srv

🔄 Как узнать, какой процесс держит порт в Linux? Часто бывает, что нужный порт уже занят, и надо быстро найти, кто его "захв
🔄 Как узнать, какой процесс держит порт в Linux? Часто бывает, что нужный порт уже занят, и надо быстро найти, кто его "захватил". Используем lsof и ss. 📌 Вариант 1 — через lsof:

lsof -i :<порт>
🔹 Пример:

lsof -i :80
📌 Вариант 2 — через ss:

ss -tuln | grep :<порт>
🔹 Пример:

ss -tuln | grep :443
🧠 А чтобы сразу получить PID:

fuser <порт>/tcp
🔹 Пример:

fuser 22/tcp
🔥 Идеально подходит, чтобы выяснить, что мешает стартовать nginx, apache, sshd и т.д. 📲 Мы в MAX 👉@bash_srv

🔐 Проверяем, у кого есть root-доступ через sudo Иногда нужно быстро выяснить, какие пользователи могут выполнять команды от
🔐 Проверяем, у кого есть root-доступ через sudo Иногда нужно быстро выяснить, какие пользователи могут выполнять команды от имени root через sudo. Вот простой способ это сделать:

getent group sudo | cut -d: -f4 | tr ',' '\n' | sort
📋 Что делает скрипт: * getent group sudo - вытаскивает строку группы sudo; * cut -d: -f4 - берёт список пользователей; * tr ',' '\n' - превращает список в столбик; * sort — сортирует результат. 💡 Работает в Debian/Ubuntu - для других систем группу sudo нужно заменить на wheel, например:

getent group wheel | cut -d: -f4 | tr ',' '\n' | sort
🔥 Быстрый аудит - особенно полезно при подозрении на несанкционированный доступ. 📲 Мы в MAX 👉@bash_srv