- Этичный хакинг с Михаилом Тарасовым (Timcore)
- #4 Kali Linux для начинающих. Терминал Kali Linux. Часть 1
- Этичный хакинг с Михаилом Тарасовым (Timcore)
- #8 Kali Linux для начинающих. Основные команды. Часть 1.
- Справочник 70 основных команд Linux: полное описание с примерами
- Справочная информация / документация
- whatis
- whereis
- whoami
- Ctrl + R
- Права суперпользователя
- Способы получить права root в Linux
- sudo su
- sudo gksudo
- Управления файлами и каталогами
- mkdir
- Типы ссылок Linux
- chmod
- Популярные комбинации разрешений для команды chmod
- chown
- chgrp
- mount / umount
- Навигация
- clear
- history
- locate
- zcat / zless / zmore
- Управление сетью
- nethogs
- traceroute
- Работа с процессами
- kill / xkill / pkill / killall
- Ctrl +C
- Ctrl +Z
- ps / pgrep
- top / htop / atop
- crontab
- Работа с архивами
- gunzip
- Управление пользователями
- useradd / userdel / usermod
- passwd
- Работа с текстом
- Ctrl + A / Ctrl + E
- Ctrl + Shift + C / Ctrl + Shift + V
- more / less
- head / tail
- Окружение пользователя
- su / sudo
- alias
- uname
- uptime
- sleep
- Пакетные менеджеры
- dnf / yum
- pacman
- Заключение
Этичный хакинг с Михаилом Тарасовым (Timcore)
Блог об Этичном Хакинге
#4 Kali Linux для начинающих. Терминал Kali Linux. Часть 1
Давным-давно для настройки и администрирования системы нужно было подойти к машине, авторизироваться в системе и внести необходимые изменения.
Раньше эта система представляла собой экран телевизора и не было никакого графического интерфейса, а был так называемый терминал. По своей сути терминал был дисплей этого телевизора, который выводил результат любой выполненной команды. Дисплей нужен был лишь для того, чтобы принять и выполнить ваши команды.
В то время нам нужно было два компонента, а именно сам физический экран или терминал и программа, которая работала в фоне.
В Linux эта программа находится в директории / bin / bash
Если я наведу на иконку в левой панели, она называется терминал. Эта иконка символизирует экран компьютера тех времен.
И если открыть терминал, то в нем уже будет работать программа bash. Думаю суть вы уловили. Это называется shell, и в нем уже работает bash:
Bash работает в терминале по-умолчанию. В противном случае он не сможет принимать информацию на ввод и отображать результат.
Работа в терминале намного эффективнее, чем графический интерфейс пользователя, и в отличии от него, он всегда есть на серверах.
Когда вы будете совершать тестирование на проникновение, вы часто будете сталкиваться с серверами, которые не имеют графического интерфейса, так как он требует много ресурсов компьютера. Ему нужно много места и памяти, что в большинстве случаев является непозволительной роскошью. Графический интерфейс не является необходимым на самом деле, поскольку все можно сделать в текстовом интерфейсе, поэтому как правило мы не устанавливаем графический интерфейс на серверы.
Очень важно, чтобы вы умели ориентироваться в любой Linux системе с помощью терминала или shella. В будущем, когда я буду говорить слова терминал или shell, я буду иметь ввиду вот это темное окно:
Как правило, когда Вы упражняетесь в тестировании на проникновение, Ваша задача — это получить доступ к shell-у. Это означает, что у Вас должен быть доступ к shell-у, как у меня сейчас, но на удаленной машине, на машине вашей жертвы.
Как правило, есть два вида доступа к шеллу. Это либо рут-шелл. Как видите, сейчас я авторизирован как рут и это состояние обозначается символом # решетки, т.е я авторизирован как суперпользователь:
Также вместо рута мы можем получить состояние обычного пользователя, тогда вместо решетки # будет символ доллара $. Это означает, что вы авторизированы как обычный пользователь с низкими привилегиями.
Источник
Этичный хакинг с Михаилом Тарасовым (Timcore)
Блог об Этичном Хакинге
#8 Kali Linux для начинающих. Основные команды. Часть 1.
Давайте познакомимся с основными Linux-командами. Это будет базовый перечень, о которых я расскажу. Сначала я хочу, чтобы Вы запомнили одну деталь. Дело в том, что Linux-системы чувствительны к регистру. Например, если мы пишем слово «Test» (обратите внимание на первую заглавную букву), то это будет отличаться от того же слова «test», но уже с первой прописной буквой. Это важно усвоить, прежде чем переходить к изучению команд в Linux.
Прошу Вас быть внимательными, и если вы новичок в Linux, то Вам простительны такие ошибки, но уже более опытным пользователям это неприемлемо. Хочу отметить, что получение доступа к файлам в Linux гораздо сложнее, чем в привычной всем Windows, и очень важную роль тут как раз играет регистр, поэтому будьте повнимательнее.
Думаю, мы разобрались с этим моментом, и нужно обозначить текущие цели, которые мы будем преследовать на протяжении нескольких уроков.
Итак, мы научимся перемещаться по файловой системе, изменять директории и переходить из одной директории в другую. Также научимся создавать файлы и директории, и Вы получите навыки в отображении содержимого этих файлов, и директорий. Еще мы с Вами научимся копировать, перемещать и удалять эти файлы и директории.
Теперь я хотел бы осветить пару моментов, которые необходимы при работе с командами в Linux. Есть определенная структура, которая состоит из 2-х элементов: «опции» и «аргументы».
Давайте более подробнее поговорим про эти элементы. Опции изменяют поведение команды, и, как правило это буквы, перед которыми идет знак минус «-». Можно использовать несколько опций в одной команде. Например, команда ls отображает содержимое директории и работает определенным образом. Не пугайтесь, если не понимаете назначение данной команды, позже Вам станет все понятно. Мы можем также прописать ту же команду ls, но дописав — — help, то в конечном итоге увидим другой результат выполнения:
В этом случае — — help — это «опция». Как я уже говорил, помимо опций у команд есть аргументы. Как правило, аргумент — это дополнительная информация, которая указывает команде с чем работать.
Приведу тот же пример с командой ls. Если ввести эту команду без аргументов, то она отобразит текущую директорию:
Допустим я нахожусь в директории /Documents, и при вводе команды ls, она отобразит директорию /Documents соответственно:
Однако, если мы перейдем в корень и добавим к команде ls, например, следующую запись — Downloads, то мы увидим содержимое указанной директории, а Downloads будет называться аргументом:
Итак, какие основные команды мы рассмотрим в ближайших нескольких уроках?
— pwd, которая означает, отобразить рабочую директорию;
— cd — сменить директорию;
— mkdir — создать директорию;
— touch — используется для создания файла;
— ls — отображение содержимого директории;
— cat — команда, которая конкатенирует и отображает файлы;
— less — отображает содержимое файлов, но по-другому;
— head — [n], где n — где n — это цифра, например head -10, head -50, эта команда отображает строки файла, а n — это количество строк;
— tail — [n] — отображает последние строки файла, в зависимости от количества указанных строк;
— tail -f — команда, которая будет обновлять информацию по мере появления новых строк в файле;
— cp — копирует файл;
— mv — перемещает или переименовывает файл;
— rm или rmdir — можно удалить файл и/или директорию.
Источник
Справочник 70 основных команд Linux: полное описание с примерами
Содержание:
Одним из коренных отличий семейства ОС Linux от ОС Windows является ведущая роль командной строки или терминала в администрировании системы. Для успешной работы с «Линукс» одного графического интерфейса недостаточно. Полноценное управление тут возможно только через терминал. А в работе с терминалом никак не обойтись без изучения основных команд Linux.
В Linux насчитывается несколько сотен основных команд и их модификаций. Они группируются по нескольким категориям. По расположению — могут быть утилитами командной строки или встроенной функцией командной оболочки. По частоте применения – используемыми постоянно, эпизодически и редко. По типам действий – от получения справки до управления файлами и процессами. Именно третья, функциональная составляющая и станет основой группировки утилит в этой статье.
В обзоре собраны все важнейшие команды Linux, которые могут пригодиться для администрирования ОС Linux. Статья рассчитана как на новичков, так и на продвинутых пользователей, уже знакомых с основным функционалом терминала. Эту своеобразную шпаргалку можно смело добавлять в закладки всем, кто хочет извлечь из «Линукс» максимум полезных свойств и повысить свою продуктивность в несколько раз.
Справочная информация / документация
(Manual). Показывает инструкцию к программам и командам Linux. Чтобы получить руководство для программы, наберите:
Для инструкции по команде, введите:
whatis
Выводит краткое описание программы. Пример:
whereis
Показывает полный путь к исполняемому файлу и другим файлам программы. Пример:
Также даёт информацию о связанной с программой справочной информации.
Показывает к какому типу относится файл. Особенность Linux в том, что рабочие файлы могут и не иметь расширения. Поэтому у пользователя могут возникнуть проблемы с идентификацией файлов, которые снимает эта команда.
Вся необходимая информация о команде будет доступна, если набрать:
whoami
Команда показывает действительный идентификатор пользователя (UID).
Показывает варианты автозавершения команды. Нажатие клавиши табуляция после определённой команды или их последовательности выводит подсказку с вариантами возможного продолжения команды.
Ctrl + R
Это сочетание клавиш помогает запустить обратный поиск по всем параметрам, связанным с указанной командой. Достаточно лишь указать ключевое слово для поиска. Есть серьёзный минус – за раз можно увидеть только 1 результат. Выйти из режима реверсивного поиска поможет комбинация Ctrl + C .
Права суперпользователя
Большое число базовых команд Linux, например, установка программ или создание файлов в корневой системе, требуют для исполнения права пользователя root или суперпользователя. Применение данного режима несёт серьёзные изменения для операционной системы, поэтому нужно точно понимать, как сработает запущенная команда.
Способы получить права root в Linux
- Вход от имени суперпользователя в виртуальной консоли, введя логин и пароль пользователя root.
- Разовое переключение на роль суперпользователя в терминале с помощью специальных утилит.
О втором варианте расскажем подробнее.
(Super User Do). Позволяет исполнять команды с правами суперпользователя. Перед переходом в режим root администратора система выполнит запрос пароля и логина root. Пример:
sudo su
Инструмент применяется, когда нужно запустить несколько «суперпользовательских» команд. Все следующие вводимые команды будут запускаться в режиме суперпользователя до закрытия командной строки.
sudo gksudo
Осуществляет запуска приложений от имени суперпользователя, использующих не терминал, а графический интерфейс. В дистрибутиве Kubuntu имя этой команды выглядит несколько иначе — sudo kdesudo .
Команда применяется, если нужно перезапустить с правами root уже отданную (от имени обычного пользователя) команду.
Максимальную производительность приложений Linux зависит от правильного подбора платформы для ОС. Мощный виртуальный сервер от Eternalhost обеспечит интернет-ресурсу стабильную работу и пространство для развития.
Управления файлами и каталогами
(List). С помощью этой утилиты можно посмотреть, что содержится в папке. Без указания конкретного пути показывает текущий каталог. Если путь указан, то переход совершиться в конечный его каталог. Чтобы вывести каталог в виде списка с дополнительной поясняющей информацией введите:
Для показа скрытых файлов:
Команда для просмотра содержимого директорий. Более современная альтернатива этой утилиты ls -l может работать не во всех дистрибутивах Linux.
(Concatenate / Catenate). Команда двойного назначения. Показывает на экране что содержит файл или стандартный ввод. Также к «склеивает» несколько переданных подряд файлов в один. Если нужно посмотреть содержимое одного файла, вводим:
Если нужно узнать содержимое нескольких файлов подряд:
Для «склейки» файлов, вводим:
Чтобы задать нужное количество строк в показанном:
(Change Directory). Меняет текущий каталог, в котором работает терминал на указанный. Когда терминал запущен, он использует по умолчанию корневой каталог (root), вернуться в который можно, набрав:
Чтобы указать другую папку для работы с файлами, нужно ввести:
Чтобы подняться по древу каталогов на уровень вверх набираем:
Чтобы вернуться к предыдущей директории:
Двойной амперсанд – не полноценная команда, а управляющий оператор. Он предназначен для выполнения последовательного ряда команд. Чтобы терминал выполнил команды одну за другой, нужно разделить их следующим образом:
Число команд в такой последовательности не ограничено.
mkdir
(Make Directory). Создаёт новую директорию. Можно также создать полную структуру подкаталогов, если ввести сочетание:
(Copy). Утилита, позволяющая скопировать файл или каталог. Копирование файлов и каталогов. Чтобы копирование прошло рекурсивно, т. е. включало все поддиректории и файлы в них, надо добавить к команде:
А если надо дополнить рекурсивное копирование сохранением всех атрибутов, сведения о владельце и временный штамп, добавляем «архивную» опцию -a, чтобы получилось:
(Move). Эта команда в Linux одновременно отвечает за перемещение и переименование файла или каталога. При переименовании файл перемещается в ту же папку, но уже названную по-новому.
(Remove). Отвечает за удаление папок и файлов. Использовать оператор rm следует крайне осторожно. В Linux файлы удаляются не в корзину, откуда их можно восстановить, а стираются безвозвратно. Для рекурсивного удаления используйте сочетание:
(Link). Создаёт программные ссылки на файлы. По функционалу это похоже на ярлыки в Windows.
Типы ссылок Linux
chmod
(Change Mode). Изменяет разрешения доступа к файлу. Под доступом имеется в виду классическая триада: чтение r, изменение w и запуск x. Общий вид:
При этом, «разрешения» могут быть указаны буквенным, символьным (rwx) или цифровым кодом. Кроме того, эта переменная может включать информацию о владельце ( u / g / o / a ) и операции с правами ( + / — / = ).
Популярные комбинации разрешений для команды chmod
Вид разрешения | Символьный код | Числовой код |
Нет допуска | — | 0 |
Чтение | r— | 4 |
Изменение | -w- | 2 |
Запуск | —x | 1 |
Запуск + Изменение | -wx | 3 |
Чтение + Запуск | r-x | 5 |
Чтение + Изменение | rw- | 6 |
Запуск + Изменение + Запуск | rwx | 7 |
chown
(Change Owner). Команда для смены владельца файла и его группы. Для смены владельца используем синтаксис:
Для смены группы файла:
Если надо поменять оба параметра:
Команду можно применить только с правами суперпользователя. Чтобы изменить владельца/группу рекурсивно добавляем:
chgrp
(Change Group). Меняет группу файла. В отличие от chown, эта команда позволяет менять группы, только тем, кто в ней состоит.
(Dataset Definition). Позволяет скопировать данные на двоичном уровне из одного места в другое. Данные могут быть любого размера — от образа CD/ DVD до целого жёсткого диска.
Утилита перемещает блоки данных из указанного источника — if имя_файла в пункт назначения — of имя_файла , который может быть устройством или файлом. Для копирования нескольких файлов применяется утилита cp.
С данной командой надо обращаться крайне осторожно, о чём свидетельствует её альтернативное название «Data Destroyer». Ошибка в вводе данных может легко стать причиной потери данных на диске.
(Disk Free). Даёт полную информацию о свободном пространстве на диске. Анализ включает перечисление файловых систем смонтированных разделов, обзор занятого и свободного места на диске. Для более удобного вывода информации, лучше применять сочетание:
(Disk Usage). Позволяет определить размер файла или каталога. Применяется в вместе с дополнительными операторами:
- df –h — представляет данные о размере в удобном для восприятия формате;
- df –s — даёт необходимый минимум данных;
- df –d — задаёт глубину рекурсии для каталогов.
mount / umount
Команды Linux для монтажа и отключения любых файловых систем — от CD-диска и USB-флешки до ядер ОС. Тип файловой системы обычно определяется командой самостоятельно, путём чтения суперблока. Опция используется только с правами суперпользователя.
Навигация
Осуществляет поиск в файловой системе, файлах и папках. Для результатов поиска можно выполнять дополнительные команды.
Отображает на экране текущий каталог.
clear
Команда полной очистки окна терминала удаляет все ранее выведенные сообщения.
history
Показывает ранее введённые пользователем команды. Перемещаться по списку введённых команд можно, нажимая на клавиатуре «Вверх» и «Вниз».
locate
Быстрый поиск файлов по базе данных updatedb для шаблонов имён файлов. Эта БД работает со снимком файловой системы, что многократно ускоряет процесс поиска. Но тут есть и существенный минус. Точность поиска зависит от того, насколько актуальны данные о файловой системе в текущей версии снимка.
zcat / zless / zmore
Утилиты для просмотра сжатых файлов. С помощью zcat можно найти увидеть список сжатых файлов, zless выводит их списком постранично с возможностью листать вперёд и назад, а zmore — только вперёд.
Точка с запятой — ещё один оператор для последовательного запуска нескольких команд в одной строке. Если нужно, чтобы команды выполнялись параллельно, используйте оператор так:
Управление сетью
(Internet Protocol). Утилита выводит полный список параметров для настройки работы с сетью. Среди них:
- link — сетевое устройство;
- address — IP-адрес сетевого устройства;
- monitor — мониторинг устройства;
- route — маршрутизация;
- tunnel — туннелированные.
Каждый из выводимых объектов можно изменять при помощи дополнительных команд: add , change , del , save и т.д.
Команда проверяет наличие и качество интернет-подключения.
nethogs
Утилита мониторинга сетевой активности устройств в системе. Чтобы задать сетевой интерфейс, введите:
traceroute
Утилита отслеживания интернет-подключения, отслеживая маршруты следования пакетов данных в сетях TCP/IP. Более совершенный инструмент для отслеживания проблем с подключением к Сети, чем упомянутая выше команда ping. Запускается только с правами суперпользователя.
Работа с процессами
kill / xkill / pkill / killall
Вариации команды для завершения операций. Основное различие между ними — способ идентификации.
- kill — прекращает операцию, находя ее через идентификатор процесса (PID).
- xkill — графический способ. После ввода команды курсор превращается в крестик, который при клике на окно открытого процесса, останавливает его;
- pkill — завершает конкретный процесс, находя его по имени.
- killall — прекращает все процессы с указанным именем.
Ctrl +C
Данное сочетание клавиш — еще один быстрый способ завершить выполнение любого процесса в терминале Linux.
Ctrl +Z
Комбинация ставит любой запущенный в консоли процесс на паузу. Снова запустить его можно, введя % .
ps / pgrep
(Process Status / Process-ID Global Regular Expressions Print). Команды находят по заданным параметрам и выводят информацию об активных процессах. Самый доступный способ найти идентификатор процесса (PID). Модификация pstree показывает весь список («древо») исполняемых процессов.
top / htop / atop
(Table of Processes). Три варианта команды, вызывающую консольную программу мониторинга активных процессов в системе. Информация отображается в виде таблицы со списком процессов в реальном времени. Рекомендуется использовать две последних модификации программы – в них больше возможностей и продвинутых функций.
crontab
Выполнение Cron (Command Run ON) — задач по расписанию в Linux.
Команда-секундомер, позволяющая подсчитать время исполнения процесса. Результатом измерения станет блок данных с тремя важнейшими параметрами:
- real — общее время исполнения;
- user — сколько времени пользователь занял у CPU;
- sys — сколько времени CPU было потрачено системой.
Сделать время исполнения процесса ОС Linux минимальным поможет VPS сервер от Eternalhost! Универсальное решение по доступной цене!
Работа с архивами
Создаёт архивы со сжатыми файлами. Архивный файл будет иметь расширение .gz .
gunzip
Команда-распаковщик для zip-архивов. Извлекает сжатые файлы и удаляет архивный файл .gz .
Сохраняет файлы и каталоги в архив с расширением .tar . Удобная утилита для создания резервных копий или надёжной архивации данных.
Управление пользователями
useradd / userdel / usermod
Команды управления учётными записями пользователей. Позволяют добавлять, удалять и редактировать пользовательские профили. Пример:
passwd
Позволяет менять пароли учётных записей. Обычный пользователь может поменять только пароль, связанный с его именем: passwd имя_пользователя.В режиме суперпользователя можно «вслепую» сбросить все пользовательские пароли в системе.
Работа с текстом
Ctrl + A / Ctrl + E
Клавиши быстрого перехода в начало ( А ) и конец ( E ) строки.
Ctrl + Shift + C / Ctrl + Shift + V
Это сочетание клавиш в Linux позволит быстро скопировать ( C ) и вставить ( V ) текст в терминале.
more / less
Две команды для облегчения просмотра больших текстов, не умещающихся на одном экране эмулятора терминала. Т.к. функционально команды одинаковы, но less — новее и поддерживает больше опций, рекомендуется использовать именно её.
head / tail
Пара дополняющих друг друга команд для просмотра на одном экране начала и конца текста. Команда head выдаёт 10 (по умолчанию) первых строк текста, tail — последних. Число строк в обоих случаях меняется с помощью аргумента -n . Оператор -f позволяет отслеживать на экране изменения в файле. Чтобы лог (журнал) файла отображался в режиме реального времени, ввести команду:
Для отслеживания логов нескольких файлов применяется модификация команды — multitail .
(Global Regular Expression and Print). Ищет текст по заданному шаблону. Это очень полезно, когда надо проанализировать работу команды, которая сопровождается большим объёмом текстовой информации. Шаблон может заполняться строкой или регулярным выражением. Пример:
Сортировка текстовой информации по заданным показателям. Дополнительные переменные позволяют:
- -n — сортировать строки текста по числовому значению;
- du — по размеру;
- -r — применять обратную сортировку;
- -u — удалять дубликаты при сортировке.
(Word Count). Программа для подсчета заданных параметров в тексте. Считает такие показатели, как символы, слова, строки и байты.
(Difference). Производит построчное сравнение двух текстовых файлов, выводя различия между ними. Алгоритм работы:
Различия между двумя версиями файлов отмечают такие символы, как:
- c — изменённые строки;
- d — удалённые строки;
- а —новые строки.
Окружение пользователя
su / sudo
(Switch User / Substitute User & Do). Две команды для запуска процессов от имени другого пользователя без завершения текущего сеанса. При использовании su по умолчанию происходит переход на пользователя root. Команда sudo способна не только активировать режим суперпользователя (о чём упоминалось выше), но и выполнить команду от имени другого пользователя без реального переключения на него. Поэтому второй вариант считается более безопасным.
Команда Linux, сообщающая информацию о времени. Отдельными переменными можно задать удобный формат вывода и число отображаемых параметров, вплоть до миллисекунд.
alias
Команда для создания синонимов названий незаменяемых команд для их сокращения. Она изменяет длинное название на удобное пользователю короткое или аббревиатуру. Пример:
Этот же приём отлично подойдёт для устранения опечаток в командах. Отменить действие утилиты переименования поможет команда unalias .
uname
Утилита, выводящая информацию об операционной системе. Без дополнительных параметров она выдаст только название ядра. Чтобы получить всю возможную системную информацию, введите:
uptime
Показывает аптайм – время непрерывной работы системы.
sleep
Задаёт таймер выключения системы.
Утилита автозаполнения поля согласия в команде или скрипте. Введите: yes название_команды и вам не придётся делать подтверждение вручную, когда этого потребует сценарий взаимодействия программы с пользователем.
Пакетные менеджеры
Пакетные менеджеры (ПМ) в Linux отвечают за установку, обновление и удаление приложений. Принцип их работы – загрузка программных пакетов из собственных сетевых репозитариев. Данные утилиты работают только с правами суперпользователя. Для различных дистрибутивов Linux существуют свои версии ПМ.
ПМ для Debian, Ubuntu и Mint. Чтобы установить приложение, введите:
Чтобы удалить приложение:
dnf / yum
Два самых распространённых ПМ для операционных систем Red Hat, Fedora и CentOS. Чтобы установить приложение, введите:
pacman
Пакетный менеджер дистрибутивов Arch и Manjaro. Чтобы установить приложение, введите:
Чтобы удалить приложение:
Заключение
Полный список команд для дистрибутивов Linux — материал скорее для объемной книги, чем для одной статьи. Однако, в данном обзоре мы постарались собрать самые важные из них. Эти команды будут гарантированно полезны как в повседневных задачах, так и для раскрытия продвинутых возможностей этой операционной системы.
У каждого пользователя Linux есть свой список must have команд. Наверняка и вам есть чем дополнить данный обзор? Делитесь своими любимыми командами Linux в комментариях!
Хотите, чтобы операционка работала как швейцарские часы? Надёжная и мощная платформа для развёртывания любых дистрибутивов Linux — VDS от Eternalhost!
Источник