Как проверить историю IP адресов для SSH сессий
В случае если сервер на Linux был взломан, возникает необходимость собрать информацию, например, получить время и IP адреса последних SSH сессий. Это может помочь не только установить источник опасности, но и, например, ответить на вопрос: был ли подобран пароль (или скомпрометирован сертификат) SSH либо злоумышленник воспользовался уязвимостью программного обеспечения.
К счастью, в дистрибутивах Linux хранятся журналы входа в систему, как по сети, так и для пользователей, который непосредственно сидят перед компьютером.
IP адрес предыдущего подключения по SSH
При каждом подключении по SSH выводится строка с IP, с которого было сделано предыдущее подключение, также показывается дата и время этого подключения:

История IP адресов SSH подключений
Кроме последней сессии, в системе хранится информация обо всех успешных входах за последние месяцы. Эта информация содержится в файле utmp / wtmp. На самом деле, файл utmp могут использовать различные программы (не только SSH), которые хотят сохранить информацию о входе пользователя.
Во многих дистрибутивах имеется файл /var/log/wtmp, куда программы записывают входы в систему. Проверить последние записи можно командой:

Все записи, в которых встречаются IP адреса — были сделаны по SSH подключению.
Записи без IP адресов — это входы пользователей, находящихся непосредственно перед компьютером.

Дополнительно вы можете проверить другие файлы журналов: /var/log/secure (на дистрибутивах на основе RH) или /var/log/auth.log (на дистрибутивах на основе Debian). В этих файлах служба sshd обычно хранит следы сделанных подключений, даже если они не стали результатом успешных входов (как это делают utmp/wtmp, которые сохраняют только информацию об успешных входах).
Служба sshd на IIRC Solaris (которая необязательно является sshd службой OpenSSH) хранит эту информацию в /var/adm/messages.
При этом необходимо помнить, что если атакующий получил доступ с правами суперпользователя, то есть скомпрометирован аккаунт root или другого пользователя с повышенными привилегиями, то все записи в файлах /var/log/wtmp или /var/adm/messages могут быть изменены атакующим. Для защиты от этого необходимо регулярно выгружать журналы в безопасное хранилище.
Как узнать, кто в настоящий момент подключён по SSH
Чтобы увидеть пользователей, вошедших в систему, используйте любую из следующих команд:
Следующие команды также покажут активные SSH сессии — у каждой из них различается набор выводимой информации, поэтому вы можете выбрать ту из них, которая вам больше всего подходит:
HackWare.ru
Этичный хакинг и тестирование на проникновение, информационная безопасность
SSH (ч.1): Что такое SSH. Утилиты SSH
Оглавление
Что такое и для чего нужен SSH
SSH — это набор программ, которые позволяют выполнить вход на удалённую машину для выполнения команд на ней. Он предназначен для обеспечения защищённой зашифрованной связи между двумя узлами через незащищённую сеть. Соединения X11, произвольные порты TCP и сокеты домена UNIX также могут быть переадресованы по защищённому каналу. В SSH входят программы, которые дополнительно позволяют передавать файлы по зашифрованному соединению.
SSH несёт в себе различные улучшения безопасности, среди них аутентификация пользователя/хоста, шифрование данных и целостность данных, благодаря чему невозможны популярные атаки вроде подслушивания (сниффинга), DNS/IP спуфинга, подделка данных (data forgery), перехват соединения (connection hijacking) и т. д. Пользователям ftp, telnet или rlogin, которые используют протокол, передающий данные в виде открытого текста, крайне рекомендуется переключиться на SSH.
OpenSSH — это реализация с открытым исходным кодом протокола SSH, позволяющая шифровать соединение в сети посредством набора программ. Если вам хочется иметь SSH на Linux, вы можете установить OpenSSH, который состоит из сервера OpenSSH и клиентских пакетов.
Технология работает по принципу сервер-клиент. То есть на удалённой машине, на которой вы хотите выполнять команды, нужно запустить сервер OpenSSH. К этому серверу можно подключаться с помощью клиентов OpenSSH. На одном компьютере могут быть одновременно установлены и сервер и клиент. Их запуск и настройка выполняется независимо друг от друга.
Утилиты SSH
К серверным утилитам OpenSSH относятся:
Итак, на сервере основного внимания требует sshd, а программа sftp-server будет запущена автоматически по мере необходимости.
К клиентским утилитам OpenSSH относятся:
Это основные программы, которые могут понадобиться большинству пользователей для создания ключей, подключения к удалённой машине и при удалённом копировании файлов.
Следующие утилиты присутствуют в пакете OpenSSH, но не требуют от пользователя явного запуска или применяются редко:
Как установить OpenSSH
Для некоторых конфигураций служба OpenSSH установлена и включена по умолчанию. Как правило, это относится к системам, к которым затруднительно получить доступ иным способом, кроме как по SSH. Например, на хостингах VPS (виртуальных частных серверов) устанавливаемые системы практически всегда даже в минимальной конфигурации уже имеют установленную и запущенную службу SSH, поэтому после развёртывания нового сервера, клиенту достаточно подключиться используя присланные учётные данные.
В образах для ARM компьютеров, которые зачастую не имеют дисплея, как правило служба OpenSSH уже установлена и запущена.
В Debain и производных (Kali Linux, Linux Mint, Ubuntu), программы OpenSSH можно установить по отдельности, например, имеются пакеты для клиента и для сервера openssh-client и openssh-server. Либо можно установить метапакет ssh, который содержит и клиентскую, и серверную часть.
В Arch Linux клиент и сервер OpenSSH собраны в один пакет. Для установки OpenSSH в Arch Linux выполните:
В других дистрибутивах Linux поищите пакет openssh или ssh.
Управление службой OpenSSH
Клиент ssh запускается самим пользователем по мере необходимости.
Запуск службы OpenSSH требуется только на сервере.
OpenSSH поставляется с файлами служб systemd (смотрите также «Как использовать Systemctl для управления службами Systemd и юнитами») двух видов:
Таким образом, если вы хотите воспользоваться первой моделью (демон SSH всегда активен), то для запуска службы и добавления её в автозагрузку наберите следующие команды:
Они добавят демона SSH в автозагрузку и запустят его прямо сейчас.
Для второй модели (запуск SSH только по требованию), сделайте так:
sudo systemctl start sshd.socket
sudo systemctl enable sshd.socket
Для проверки статуса службы:
Либо если вы используете сокет:
systemctl status sshd.socket

Обратите внимание, что в разных дистрибутивах служба может называться ssh или sshd, следовательно, в приведённых выше и далее командах, используйте имена:
Как проверить журнал событий SSH службы
События SSH можно разделить на события:
Просмотреть логи SSH можно различными способами, один из вариантов (помните, что в некоторых системах служба называется ssh.service, без буквы d):
Например, для вывода последних 100 записей:
Также можно просмотреть события SSH с помощью:
Универсальная команда в независимости от имени службы:
Для вывода событий, связанных с подключением пользователей, другой информации, в том числе отладочной (зависит от настройки уровня подробности сообщений), можно посмотреть следующим образом:
Как увидеть неудачные попытки входа SSH
Если настроен вход по паролю, то для вывода неудачных попыток наберите команду:
Если настроен вход по публичному ключу, но не отключена возможность входа по паролю, то после неверного ключа, будет предоставлена возможности войти по паролю. Такие неудачные попытки входа по паролю можно найти такой же командой:

При неудачной попытке входа из-за неверного ключа, при уровне вербальности (LogLevel) по умолчанию (INFO) специальные сообщения не записываются в журнал. Подобные неудачные попытки можно обнаружить по записи «Connection closed by authenticating user», но она означает отключение на этапе аутентификации, независимо от способа аутентификации — по паролю или по ключу.
Если установить уровень вербальности на VERBOSE, то в журнале можно будет найти записи о неудачных попытках входа с помощью публичного ключа следующей командой:
Подробнее об этой настройке во второй часте.
Как просмотреть журнал подключений пользователей SSH
Чтобы показать подключения, когда вход был сделан по паролю:
Чтобы показать подключения аутентификации по публичному ключу:
Другой вариант просмотреть историю входов, это использовать следующую команду:
Где хранится история подключений по ssh?
CentOS 6.4. Простой админский вопрос. Нужно узнать IP.
Время, в которое был выход по ssh, я приблизительно знаю.
Где в /var/. можно узнать дополнительную информацию о
том, какой пользователь (хотя бы IP) в это время выходил на
эту машину по SSH соединению? В данный момент он в сети
отсутствует, его нет, и его машина выключена насовсем.
Добавлено через 32 минуты
Всё нашел: var/log/secure.
Помощь в написании контрольных, курсовых и дипломных работ здесь.
История ICQ, Skype и история браузеров. Как экспортировать и где хранится?
Доброго времени суток. Требуется из телефона на базе ОС Андроид, а именно аппарат Lenovo 700i.
История подключений по RDP
Доброго времени суток. Подскажите пожалуйста. При подключение к Windows Server 2008 он пишет в.

нужно ли освобождать память, выделенную под str?
Где у IIS есть монитор подключений?
Есть ли какой-нибудь ‘монитор’, чтобы видеть все подключения к серверу в данный момент? Как.
Логирование и совместный доступ в SSH с помощью Team Shell
Ко мне на обзор попала очень интересная и самобытная программа, аналогов которой лично я не знаю. Речь идет о TeamShell, с помощью которой можно централизованно управлять ssh подключениями к серверам. Она умеет разграничивать доступ по ssh, записывать экран подключения и логировать все введенные команды. Расскажу подробно обо всех возможностях.
Введение
Сейчас Team Shell вышла в стадию beta и ее можно попробовать, чем я и занялся. Есть как self-hosted решение, которое можно развернуть у себя, так и облачная версия, распространяющаяся по модели SaaS. Для теста я использовал облачную версию, так как с ее помощью можно быстро протестирвоать программу и познакомиться с функционалом.
Для чего нужен Team Shell
С помощью Team Shell вы сможете решить следующие задачи:
Кому может быть полезен
Исходя из описанных возможностей, можно составить примерный список людей, которым это приложение может быть полезно.
Принцип работы Team Shell
В начале я уже упомянул, что Team Shell может работать как коробочная версия, установленная в вашу инфраструктуру, так и по модели SaaS, когда работа идет через облако разработчиков. В обоих случаях принцип работы один и тот же.
TeamShell может работать в режиме agentless. На целевые сервера, к которым надо подключаться, не обязательно что-то устанавливать. Достаточно на ноде настроить доступ по ssh к целевому серверу, например с помощью сертификата. Ноды собраны в пакеты под все популярные системы и ставятся очень просто. Центральный сервер коммутирует соединение от клиента, до ноды и таким образом осуществляется подключение к целевому серверу.
Стоит так же отметить важную возможность. TeamShell умеет интегрироваться с LDAP, чтобы подтягивать оттуда пользователей.
Установка и запуск Team Shell
Дальше идем в настройки и добавляем новый Workspace.
После создания можно сразу же пригласить кого-то из пользователей в него. Если их пока нет, добавьте одного себя. Теперь снова возвращайтесь в настройки и выбирайте только что созданное окружение. Надо добавить ноду в него.
Сгенерируйте ключ и сохраните его. С его помощью мы будем подключать ноды к этому окружению. Теперь идем на целевой сервер, к которому хотим подключаться. В моем примере это будет сервер Ubuntu. Скачиваем пакет с node по ссылке с этой страницы.
Вариант установки выбирайте сами. Я поставил из пакета, но ничто не мешает запустить ноду в докер контейнере.
Теперь нам нужно отредактировать конфиг, добавив туда код окружения, к которому будет присоединен сервер. Открываем файл /etc/teamshell/teamshell.yaml и указываем код.
Все остальное можно оставить дефолтное. Запускаем ноду и проверяем ее статус.
Все в порядке, нода запущена. Теперь идем в приложение и проверяем, подключилась ли нода к выбранному окружению.
Далее вы можете указать причину подключения. Например, установка обновлений. Ваша сессия будет сохранена с этим описанием.
Вы оказываетесь в терминале.
Выполните все необходимые действия и завершите работу в терминале, как вы обычно это делаете. После завершения сессии, она будет сохранена. Будут записаны вводимые команды и полный внешний вид консоли, который можно будет просматривать через встроенный плеер, как обычный видеоролик. Справа будет список команд, при нажатии на которые вы будете перемещаться в момент ввода этой команды в консоль.
Когда увидел этот плеер и его возможности, я был в восторге. Это же очень крутая штука. Надеюсь со временем можно будет выгружать эти записи. Они мне могут очень сильно облегчить создание видео к моим статьям, которые чаще всего все проходят в консоли.
Я вам показал самый базовый функционал, который можно сразу запустить и потестить, ничего особо не настраивая. Далее посмотрим на дополнительные возможности Team Shell.
Совместный доступ к консоли по ssh
Нет никаких проблем с тем, чтобы одновременно двум или более пользователям оказаться в одной консоли. Логика действий тут такая:
Получится вот так. Вид от инициатора соединения.
Вид от второго пользователя, который подключился в консоль с правами на просмотр.
Права доступа пользователей можно настраивать с помощью ролей. По умолчанию идут две роли: admin с полным доступом и default с правами на просмотр всех логов команды. Вот пример создания роли с разрешением на просмотр только своих логов.
Можно сделать роль с правами только на просмотр логов, без возможности подключения. Функционал ролей пока не очень большой. Напоминаю, что продукт в бете и только выходит на широкую публику.
Ограничение на выполнение команд по ssh
Покажу на примере, как можно настроить ограничение запуска по ssh только определенных команд. Например, разрешим через подключение запускать только программу htop. Для этого идем на ноду и рисуем примерно такой конфиг.
Идем в клиент и открываем соединение со службой cent-dev htop. У вас сразу же откроется htop и только он.
После выхода из htop, подключение завершится. Очень полезная и легко настраиваемая возможность. Я думаю, многие найдут для нее применение.
Agentless подключение к серверу
Выше я использовал примеры подключения к серверу, где установлена нода. Для простого подключения по ssh на целевой сервер, ставить для этого везде ноды не нужно. Достаточно одной, через которую будет осуществляться подключение. Для этого вам надо настроить возможность подключаться к целевому серверу самой ноде. В общем случае достаточно на ней сгенерировать rsa ключи с помощью ssh-keygen и добавить публичный ключ на целевой сервер.
Далее просто добавляем очередную службу на ноде. Примерно так:
В данном случае 10.20.1.23 ip адрес, где установлена нода.
У TeamShell есть очень интересный и необычный консольный клиент. Для того, чтобы подключаться по ssh к целевым серверам, нет необходимости ставить себе на компьютер графический клиент. Можно воспользоваться консольным, который поставляется в виде пакета, либо простого бинарника. Если у вас Linux или Windows с WSL, для регистрации и подключения через Team Shell достаточно выполнить пару шагов.
Вы можете либо зарегистрироваться, либо сразу залогиниться, если есть учетная запись. А дальше вам доступен функционал по подключению на основе сервисов, к которым у вас есть доступ.
Это очень удобно, если вам нужно выполнить разовое подключение и не хочется ставить стороннее ПО на основную рабочую машину. Можно подключиться с любой машины под управлением Linux или MacOS, просто запустив бинарник. После подключения его можно удалить.
Отдельно обращаю внимание на следующий момент. При использовании hosted версии, при подключении к нему по SSH, можно открыть показанный выше ttui и подключаться к серверам. То есть ставить себе вообще ничего не надо. Можно без проблем подключиться к серверу через любой мобильный ssh клиент.
Передача файлов
В TeamShell реализована простая передача файлов на сервер с помощью клиента. Работает и в графическом приложении, и в консольном. Пока передать файлы можно только на сервер с установленной нодой. Надеюсь со временем и на остальные сервера можно будет передавать. Работает это достаточно просто. Вот пример графического клиента.
А вот тот же функционал в консольном варианте.
Заключение
Интересно, вам так же как и мне понравился TeamShell? Поделитесь своим мнением. Несмотря на то, что продукт еще достаточно сырой, так как мы смотрим пока на beta, предлагаемый функционал очень интересен. Лично мне не известны аналоги. Я вижу, что он может закрыть несколько открытых потребностей пользователей. В основном в тех поддержке, распределенных командах и онлайн школах. Да и просто удобно кого-то запустить быстренько на сервер и посмотреть, что он там делал.
Даже если вы не админ, а владелец, к примеру, какого-то онлайн магазина, над которым работают фрилансеры по одиночным задачам. Попросите настроить вам Team Shell и пускайте на сервер только через него. Так у вас останется история того, что на сервере делали. Можно будет хоть какой-то аудит провести потом. А то у меня были ситуации, когда я подключался к серверу и видел там в списке последних команд полную очистку истории команд консоли.
Скрытность в Linux. Заметаем следы
Файлы в Linux имеют 3 типа временных меток: время доступа (англ. access time, сокр. atime), время модификации (англ. modification time, сокр. mtime) и время изменения (англ. change time, сокр. ctime).
Однажды может возникнуть необходимость подделать временные меткикакого-либо файла.
Время доступа (atime), как и время модификации (mtime) могут быть легко изменены с помощью команды touch, но для подделки метки времени изменения (ctime) стандартного решения не существует.
Тем не менее, в качестве обходного пути, можно установить системное время в то значение на которое вы хотите изменить ctime файла, затем использовать команду touch на этом файле и потом откатить системное время обратно.
Из приведенной ниже статьи вы узнаете, как сохраняя анонимность изменять временные метки файла.
Узнать Временные Метки Файла
Чтобы получить информацию о текущий временных метках файла воспользуетесь командой stat :
Разница Между Временами «Доступа», «Модификации» и «Изменения»
| Временная метка | Когда она обновляется? |
|---|---|
| atime | Время доступа к файлу обновляется когда вы открываете файл либо когда он используется для других операций, например таких как: grep, cat, head и т.д. |
| mtime | Время модификации файла обновляется когда вы изменяете его содержимое либо сохраняете файл. |
| ctime | Время изменения файла обновляется когда меняются его атрибуты, такие как владелец файла, права, либо он перемещается на другую файловую систему. Также это время обновляется и при изменения времени модификации файла. |
Изменение Времени «Доступа» и «Модификации» Файла
Изменить время доступа к файлу (atime) :
Изменить время модификации файла (ctime) :
Подделка Времени «Изменения» Файла
Как я уже говори ранее, не существует стандартного решения для подделки времени изменения файла (ctime).
Тем не менее, это можно сделать если сначала поменять системное время на то, на которое вы хотите поменять ctime, затем использовать команду touch на файле и потом откатить системное время обратно.
Изменение системного времени может привести к неожиданным последствиям. Используйте приведенные ниже команды только на свой страх и риск.
Сохраните текущую дату и время в переменную NOW :
Установите поддельное системное время (необходим root) :
Используйте команду touch на файле для изменения всех временных меток на поддельные :
Откатите время назад (необходим root) :
Для увеличения скорости выполнения модификаций и как следствие уменьшения риска возможных последствий, вы можете выполнит приведенные выше команды следующим образом :
Заметаем Следы 😉
Чтобы замести следы не забудьте очистить значение переменной, а также почистить логи и историю.
Очистите значение переменной NOW :
Из файла /var/log/messages удалите строки с информацией об изменении системного времени (необходим root) :
Очистите историю входов в Linux (необходим root) :
Очистите историю текущей сессии :
Очистить или Удалить Историю Входов в Linux
В Linux системах есть три стандартные команды, которые показывают информацию о последних подключавшихся пользователях : last, lastb, и lastlog.
Вывод этих команд включает : логин, время последнего подключения, IP адрес, порт и т.д.
И иногда, чтобы сохранить анонимность, возникает необходимость очистить историю последних подключений.
| Команда | Журнал логов | Описание |
|---|---|---|
| last | /var/log/wtmp | История успешных входов/выходов |
| lastb | /var/log/btmp | История неудавшихся попыток входа |
| lastlog | /var/log/lastlog | Список последних подключавшихся пользователей |
Удаление Информации о Последних Подключениях
Для удаления всей информации о последних подключавшихся пользователях необходимо очистить журналы с логами :
Очистить Историю Команд в BASH
Полностью удалить историю Bash
Выполните следующую команду для полного удаления всей истории Bash :
| Опции | Описание |
|---|---|
| -c | Очистить файл истории |
| -w | Внести команды текущей сессии в файл с историей |
Удалить определенную строку из истории Bash
Очистить историю команд текущей сессии
Выполните для удаления истории команд только текущей сессии :
| Опция | Описание |
|---|---|
| -r | Прочитать файл с текущие историей и добавить его содержимое к списку истории команд |
Не сохранять команду в истории Bash
Выполнить команду не занося ее в историю Bash :
$ команда
Поставьте пробел перед любой командой и она не будет сохранена в истории Bash.
Не сохранять все команды текущей сессии в истории Bash
Отключение HISTFILE приводит к тому, что пока Вы не выйдите из текущей сессии, любые команды которые Вы будете выполнять не будут сохраняться в файле с историей bash_history :
Изменение Прав Доступа к Файлам и Папка в Linux — Основы Chmod
Команда сhmod (change mode) служит для изменения прав доступа к файлам и папкам.
Синтаксис
Команды chmod имеет следующий синтаксис :
Показать текущие права на файл / директорию можно с помощью команды ls :
или используя команду stat :
Классы доступа
Классы доступа используются для того, чтобы определить какому пользователю назначаются права. Если класс доступа не указан, то по умолчанию используется класс “all”. Классы доступа представлены одной или несколькими из ниже перечисленных букв :
| Класс | Class | Описание |
|---|---|---|
| u | user | владелец файла (папки) |
| g | group | пользователи, которые являются членами группы к которой принадлежит файл (папка) |
| o | others | пользователи, которые не являются ни владельцем файла (папки), ни входят в группу файла (папки) |
| a | all | все три перечисленных выше класса, то же самое что ugo |
Операторы
Программа chmod использует оператор для того, чтобы указать каким образом будут применены права доступа к файлам или папкам. Приняты следующие операторы :
| Оператор | Описание |
|---|---|
| + | добавить указанные права доступа к указанному классу |
| — | убрать указанные права доступа из указанного класса |
| = | присвоить указанные права доступа |
Права доступа
Права доступа указывают какие полномочия следует предоставить или забрать у указанного класса. Существуют три основных вида прав доступа, которые соответствуют базовым полномочиям :
| Права доступа | Name | Описание |
|---|---|---|
| r | read | права на чтение содержимого файла или директорию (просматривать файлы и поддиректории в папке) |
| w | write | права на запись в файл или директорию (создавать файлы и поддиректории в папке) |
| x | execute | права на исполнение файла в качестве программы/скрипта либо права на вход в директорию (просмотр дерева каталога) |
| X | special execute | права на вход в директорию и права на исполнение файла, в случае, если хотя бы одному классу уже назначено право на исполнение (для любого из user, group или other) |
Числовые права доступа
Возможно использование прав доступа как в символьной, так и в числовой форме.
Числовая форма для прав доступа :
10 Простых Примеров :
1. Добавить всем права на чтение файла :
2. Забрать права на исполнение файла у всех :
3. Добавить всем права на чтение и запись :
4. Установить права на чтение и запись для владельца и забрать права у всех остальных :
5. Для директории и всего ее содержимого добавить права на запись для владельца, и забрать права на запись для всех остальных :
6. Забрать у всех все права :
7. Дать всем права на права на чтение, запись и выполнение файла :
8. Задать права на чтение и запись без права на исполнение для владельца и группы, а все остальным дать право только на чтение :
9. Назначить права ‘-rwx’ для владельцев директорий, добавить права ‘rw’ для владельцев файлов, ‘—‘ для всех остальных :
10. Забрать у всех права на исполнение файлов в директории и поддиректориях, но в то же время, разрешить всем просматривать содержимое директорий :
Запуск Команд на Удаленном Linux Сервере через SSH
В этой заметке Вы найдете различные примеры того, как выполнять команды на удаленном Linux сервере и получать результат локально.
Данная информация будет очень полезна, если Вы пишете Bash скрипт, который будет запускаться с локальной машины и выполнять какие-либо команды на удаленном сервере.
Выполнение Команд на Удаленном Linux Сервере
Узнать uptime удаленного сервера
Перезагрузить удаленный сервер
Запуск Нескольких Команд через SSH
СПОСОБ 1 :
Узнать Uptime и Disk Usage
СПОСОБ 2 :
Узнать Memory Usage и Load Average
СПОСОБ 3 :
Показать Версию Ядра, информацию о CPU и кол-во RAM
Выполнение Локального Скрипта на Удаленном Linux Сервере
Запустить Локальный Скрипт ‘local_script.sh’ на Удаленной Машине
7 Советов — Настройка Истории Команд в Bash
Настройка истории команд в Bash осуществляется путем добавления переменных окружения в файл
/.bashrc вступили в силу, выполните :
1. Добавляем Отображение Даты и Времени в Bash History
Иногда очень полезно узнать время, когда какая-либо команда была выполнена.
Установите HISTTIMEFORMAT, чтобы сохранять время выполнения каждой команды.
Для этого добавьте следующую строку в файл
Теперь, набрав history, Вы получите следующий вывод :
2. Увеличиваем Размер Хранимой Истории
Увеличьте HISTSIZE — количество команд, которые необходимо запоминать в списке истории (стандартное значение — 500).
Увеличьте HISTFILESIZE — максимальное количество строк, содержащееся в файле истории (стандартное значение — 500).
3. Добавляем Команды Bash в Файл с Историей
Чтобы добавлять новые команды в файл с историей, а не переписывать его каждый раз, добавьте следующую строку в
4. Мгновенно Сохранять Историю Команд
Если сессия внезапно оборвется Вы потеряете текущую историю команд.
Добавьте следующую строку в файл
5. Контролируйте Bash History
HISTCONTROL — представляет из себя список опций, разделенных двоеточиями.
Они контролируют каким образом список команд сохраняется в истории.
| Опция | Описание |
|---|---|
| ignorespace | не сохранять строки начинающиеся с символа |
| ignoredups | не сохранять строки, совпадающие с последней выполненной командой |
| ignoreboth | использовать обе опции ‘ignorespace’ и ‘ignoredups’ |
| erasedups | удалять ВСЕ дубликаты команд с истории |
6. Игнорировать Определенные Команды
HISTIGNORE — список шаблонов через двоеточие, используемых для принятия решения о сохранении строк с командами в списке истории.
Не сохранять команды ls, ps и history :
Не сохранять команды начинающиеся с s :
7. Одна Команда — Одна Запись в Истории
Сохранять все строки многострочной команды в одной записи списка истории :
Изменить Имя Файла с Историй Команд
Используйте HISTFILE для изменения имени файла, в котором сохраняется история команд. Стандартное значение



















