Linux
2.57K subscribers
210 photos
389 videos
6 files
142 links
Все для системного администратора, новости и информация из мира Linux
Download Telegram
Как использовать команду grep в linux
grep это вполне возможно самая популярная из существующих команд в Unix/Linux. Многие бы с этим поспорили, но стоит начать использовать grep, эта команда будет присутствовать почти во всех ваших скриптах для консоли Linux. grep расшифровывается как ‘global regular expression printer‘. Иными словами grep выдрезает нужные вам строки из текстовых файлов которые содержат указаный пользователем текст.

grep может быть использован двумя путями — сам по себе или в комбинации с потоками.

Использование grep в чистом виде
$ grep '12:00' /home/david/backup/log.txt

Эта команда показывает как можно использовать grep для того чтобы получить строки из файла содержащие подстроку указаную в командной строке. Файл не обязательно должен оканчиваться на .txt. Показаная выше команда производит поиск подстроки 12.00 в файле /home/david/backup/log.txt и отображает все строки где эта подстрока встречается.

Эта комбинация может быть использована например для поиска бекапов которые происходили в 12:00.

$ grep -v '12.00' /home/david/backup/log.txt

А вот эта команда (с использованием ключа -v) наоборот покажет только те строки где подстрока ’12:00′ не встречается.

$ grep -l 'delay' /code/*.c

Эта команда будет искать все файлы оканчивающиеся на .c и текст в найденых файлах соответствующий подстроке 'delay' и в конечном итоге выведет только имена файлов где эта подстрока встречается.

$ grep -w '\<bay' * $ grep -w 'watch\>' *

Эта команда уже более сложная и состоит из комбинации двух команд grep. Первая ищет строки которые начинаются со слова ‘bay’ а вторая строки которые заканчиваются на слово ‘watch’.

Использование grep вместе с потоками
$ ls -l | grep rwxrwxrwx

Вы наверно уже знаете что команда ls -l отображает подробный список файлов в директории. Часть grep rwxrwxrwx фильтрует результат полученый от ls -l и выводит только те директории у которых установлены соответствующие права доступа. В данном случае это открытый доступ на чтение, запись и поиск для всех пользователей и групп. Так что вместо того чтобы увидеть полный список файлов вы увидите только те файлы у которых установлены нужные вам права доступа.

Вывод от команды grep может также быть направлен потоком в другую команду, например как в следующем примере:

$ du | grep 'mp3' | more

Вы должны уже догадаться что делает указаная выше команда 🙂 Если не догадались то все просто — она выводит постранично список mp3 файлов найденых в текущей директории. Все просто 🙂

$ grep '^#' /home/david/script1 | more

Эта команда отобразит все строки в файле /home/david/script1 которые начинаются с символа ‘#’. Определение тип ‘^#’ означает что символ ‘#’ должен быть первым символом с троке.

$ grep -v '^[0-9]' /home/david/backup/log.txt | more

Эта команда ищет строки содержащие в первом символе цифры от 0 до 9 а потом выводит только те строки которые не попали в результаты поиска. Как вы видите — был использован ключ ‘-v’ означающий реверсивный поиск.

Важно: Необходимо заключать искомые строки в одинарные кавычки как указано в двух предыдущих примерах для того чтобы интерпретатор командной строки мог воспринимать их корректно. Иначе интерпретатор может понять это как другую команду и результат выполнения будет непредсказуем.

Некоторые дополнительные ключи команды grep:

-v : Выводи реверсивные результаты. Вместо того чтобы вывести строки где искомое было найдено — выводи те строки где искомой подстроки нет.
-c : Отключает стандартный способ вывода результата и вместо этого отображает только число обозначающее количество найденых строк.
-i : Делает поиск регистронезависимым
-w : Ведет поиск по цельным словам. Например при обычном поиске строки ‘wood’ grep может найти слово ‘hollywood’. А если используется данный ключ то будут найдены только строки где есть слово ‘wood’.
-l : Выводит только имена файлов где была найдена строка.
-r : Производит поиск рекурсивно по всем поддиректориям.


👉@linuxchmod
👍8
Монтируем шары для юзеров

Монтируете ли вы шары, как их монтирую я? Вероятно, нет, т. к. очень крутой опции multiuser на просторах интернета уделено слишком мало внимания, а man mount.cifs в её отношении весьма немногословен и скуп на наглядные примеры. Именно это и сподвигло меня поделиться с вами парой «рецептов», которые могут облегчить вам и вашим пользователям движение в сторону отечественных десктопов и ИТ-инфраструктур.

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

https://habr.com/ru/companies/ruvds/articles/744036/

👉@linuxchmod
👍5
Проверка портов

Проверить порты можно с помощью следующих команд:

nc: Netcat – простая утилита Unix, которая считывает и записывает данные через сетевые соединения, используя протокол TCP или UDP.
nmap: Nmap («Network Mapper») – это инструмент с открытым исходным кодом для исследования сети и аудита безопасности. Он был разработан для быстрого сканирования больших сетей.

telnet: Утилита telnet используется для интерактивного взаимодействия с другим хостом по протоколу TELNET.
netstat: Утилита netstat позволяет увидеть открытые в системе порты, а также открытые на данный момент сетевые соединения.

ss: Утилита ss — это современная альтернатива для команды netstat. В отличие от netstat, которая берет информацию из каталога /proc, утилита ss напрямую связывается со специальной подсистемой ядра Linux

lost: Утилита lsof позволяет посмотреть все открытые в системе соединения, в том числе и сетевые.

https://telegra.ph/Proverka-portov-12-06

👉@linuxchmod
👍5
Как быстро найти, что занимает больше всего места на диске.

Я пользуюсь двумя бесплатными утилитами.

Scanner
Программа показывает содержимое диска в виде круговой диаграммы. Можно смотреть также структуру конкретных папок.


Windows Directory Statistics
Еще одна бесплатная утилита, но с более продвинутыми возможностями. Показывает результаты как в виде списка, так и визуально.

👉@linuxchmod
👍6
Настройка фаервола в Ubuntu с помощью утилиты UFW

UFW (Uncomplicated Firewall) — удобный интерфейс для управления политиками безопасности межсетевого экрана. Наши серверы постоянно подвергаются различным атакам или сканируются в поиске уязвимостей. Как только эти уязвимости находятся, мы рискуем стать частью ботнета, раскрыть конфиденциальные данные или потерять деньги из-за сбоев в работе веб-приложений. Одной из первых мер по снижению рисков безопасности является грамотная настройка правил межсетевого экрана. В нашем руководстве мы рассмотрим основные команды и правила работы с утилитой UFW.

https://telegra.ph/Nastrojka-faervola-v-Ubuntu-s-pomoshchyu-utility-UFW-12-09

👉@linuxchmod
👍8
Шпаргалка по Linux командам

👉@linuxchmod
👍12
Домашняя лаборатория

👉@linuxchmod
🔥11👍2🤯2😁1😍1
📌Подборка книг для системного администратора


1. Тайм-менеджмент для системных администраторов
Автор: Томас А. Лимончелли

Книга написана сисадмином для сисадминов. Обычно подобные книги выпускают для широкого круга читателей, но эта подготовлена с учетом специфики профессии системного администратора. Ведь очень часто ее представителям, работая над важными и долгосрочными проектами, приходится отвлекаться на проблемы других сотрудников.


2. Unix и Linux: руководство системного администратора
Авторы: Немет Эви, Хейн Трент Р., Снайдер Гарт

Эта книга, как и указано в названии, представляет собой полное руководство по установке, настройке и обслуживанию любой системы на основе FreeBSD или Linux, включая системы, предоставляющие базовую инфраструктуру интернета и облачную инфраструктуру.

Руководство состоит из нескольких частей, включая:
«Основы администрирования» — вводный раздел с весьма подробной информацией о загрузке системы, ядре, демонах, процессах и других сущностях и процессах;
«Работа в сетях» — главы, в которых собраны знания о сетях TCP/IP, маршрутизации, DNS, электронной почте и веб-хостинге;
«Хранение данных» — раздел, посвященный работе с дисками, массивами и сетевыми файловыми системами (NFS и SMB);
«Эксплуатация» — главы о системах управления конфигурацией, виртуализации, мониторинге, безопасности и анализе производительности.


3. Компьютерные сети. Принципы, технологии, протоколы
Авторы: Олифер Виктор Григорьевич, Олифер Наталия Алексеевна

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


4. Python для сетевых инженеров. Автоматизация сети, программирование и DevOps
Автор: Эрик Чоу

В этой книге рассматриваются основы Python с уклоном в сетевую тематику. Книга не очень сложная, она отлично подходит для новичков. Ее задача — не изучение глубин Python, а обучение основам языка программирования, которые будут полезны для сетевых инженеров. Соответственно, в книге рассматривается работа с сетевым оборудованием разных производителей.


5. Аудит безопасности информационных систем
Автор: Николай Скрабцов

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

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

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


6. Книга «PowerShell для сисадминов»
Автор: Адам Бертрам

Книга предназначена для профессионалов. Она позволяет научиться использовать PowerShell для того, чтобы эффективно управлять системой, получив возможность автоматизировать задачи. Читатель узнает, как:

- комбинировать команды, управлять потоком выполнения, обрабатывать ошибки, писать сценарии, запускать их удаленно и тестировать их с помощью фреймворка Pester;
- анализировать структурированные данные, такие как XML и JSON, работать с популярными сервисами (например, Active Directory, Azure и Amazon Web Services), создавать системы мониторинга серверов;
- создавать и проектировать модули PowerShell;
- использовать PowerShell для удобной, полностью автоматизированной установки Windows;
- создавать лес Active Directory, имея лишь узел Hyper-V и несколько ISO-файлов;
- создавать бесчисленные веб- и SQL-серверы с помощью всего нескольких строк кода.
Несмотря на то что издание техническое, автор часто шутит, причем неплохо. Это несколько упрощает чтение.

👉@linuxchmod
👍7
Довольно полезная вещь!

👉@linuxchmod
👍9
Media is too big
VIEW IN TELEGRAM
Создание/увеличение свопа в linux/Centos7, самый простой способ

👉@linuxchmod
👍3
Media is too big
VIEW IN TELEGRAM
Эффективная работа в Midnight Commander

Midnight Commander - эффективный инструмент администратора Linux. Рассмотрим в ролике некоторые его возможности, удобные функции.

источник

👉@linuxchmod
👍6🥰1👏1😁1
Cамые нужные команд SSH

Запускай команды быстро
Чтобы выполнить всего одну удаленную команду, совсем не обязательно подключаться к SSH, вводить команду, а затем отключаться. Можно сделать это сразу. Например, так можно посмотреть заполненность ФС удаленной машины:
$ ssh user@host df -h
А так — перезагрузить ее:
$ ssh user@host sudo reboot

Составляй списки команд и запускай их разом
Если у тебя есть целый список команд, которые следует выполнить, их можно записать в файл и скормить этот файл SSH:
$ ssh user@host "`cat file.txt`"

Редактируй удаленные файлы локальным редактором
Чтобы отредактировать файл на удаленной машине, не требуется заходить на нее и использовать консольный редактор. На самом деле файл можно открыть в твоем любимом текстовом редакторе на локальной машине (gvim заменяем на свой редактор):
$ gvim scp://user@host//путь/к/файлу

Копируй содержимое удаленного файла в буфер обмена
Если необходимо скопировать содержимое удаленного файла или вывод команды в буфер обмена, не обязательно выводить его на экран или открывать в текстовом редакторе и копировать вручную. Можно использовать следующую команду:
$ ssh user@host cat /путь/к/файлу | xclip
А так можно скопировать вывод команды:
$ ssh user@host uname -a | xclip

Сравнивай удаленный и локальный файл без копирования
Похожий прием можно использовать для сравнения двух файлов:
$ ssh user@host cat /путь/к/удаленному/файлу | diff /путь/к/лoкальному/файлу -

Работай с удаленными файлами с помощью локального файлового менеджера
Не всегда удобно работать с большим количеством файлов с помощью консольных команд или mc, запущенного на удаленной машине. Но всегда можно подключить любой каталог удаленной машины как сетевой диск. Для этого достаточно установить sshfs:
$ sudo apt-get install sshfs
Создать каталог для подключения «сетевого диска»:
$ mkdir remote_files
И подключить его:
$ sshfs user@host:/home/user ~/remote_files/
Теперь все файлы удаленного каталога /home/user будут видны в каталоге ~/remote_files/ и с ними можно работать, как с обычными.

Копируй ключи быстро
Хоть и копирование публичного ключа на удаленный сервер — задача простая, но она требует выполнения нескольких действий вручную. Если тебя это напpягает, скопировать ключ можно в автоматическом режиме:
$ ssh-copy-id user@host
При этом не обязательно копировать основной ключ, с помощью флага -i можно указать любой другой:
$ ssh-copy-id -i ~/my_key.pub user@host

Создай постоянное соединение с машиной
Если в течение дня ты часто подключаешься к одной машине, в том числе на несколько минут или секунд (чтобы просто запустить одну команду, например), есть смысл создать с ней постоянное соединение. Твой комп будет держать соединение открытым и использовать его для каждого подключения к машине. Это намного быстрее и экономичнее с точки зрения трафика и нагрузки на процессор.
Добавь следующие строки в ~/.ssh/config:
Host host
ControlPath ~/.ssh/master-%r@%h:%p
ControlMaster no

А затем создай соединение:
$ ssh -MNf user@host

👉@linuxchmod
👍6🔥1
Контроль оплаты домена через Zabbix

Позвонил клиент, говорит почта не работает. Стал смотреть – домен отключен за не оплату, бухгалтерия забыла оплатить счет. Подумалось, что неплохо бы видеть какие домены в ближайшее время тоже потребуют продления. Будем для этого использовать Zabbix.

На сервере с Zabbix’ом установим Zabbix-агент. Он и будет у нас заниматься проверкой наших доменов.

https://telegra.ph/Kontrol-oplaty-domena-cherez-Zabbix-12-17

👉@linuxchmod
👍5
Проброс и перенаправление портов в iptables

Проброс трафика за NAT или проброс трафика на другой сервер

Чаще всего проброс трафика используется, если мы находимся в локальной сети и от внешнего мира отделены шлюзом. Для того, чтобы открыть доступ для локальных служб (ssh, web, ftp), нам необходимо пробросить порты. Поскольку в качестве шлюза мы будем использовать сервер на Linux, то осуществлять данные действия будем с помощью iptables.

https://telegra.ph/Probros-i-perenapravlenie-portov-v-iptables-12-17

👉@linuxchmod
👍5
Media is too big
VIEW IN TELEGRAM
Настройка нескольких внешних IP адресов на MikroTik

источник

👉@linuxchmod
👍5🔥1🥰1
This media is not supported in your browser
VIEW IN TELEGRAM
Принцип работы протокола Kerberos

👉@linuxchmod
👍5