TGViewer
LinuxSkill - Сводки с прода и Шпаргалки LinuxSkill - Сводки с прода и Шпаргалки @linuxskill · 10.7K subscribers
Post #1229 1.27K
Не оставить пароль в bash_history и не удивиться, что он всё равно там оказался.

Скрыть команду от истории


mysql -u root -p'super_secret'


Ведущий пробел, и строка не попадёт в ~/.bash_history. Работает, если в HISTCONTROL есть ignorespace. Нюанс: в Ubuntu это уже настроено, но по-разному. В /etc/skel/.bashrc стоит ignoreboth, а в root-сессии у меня было ignoredups:ignorespace. Проверьте своё:


echo "$HISTCONTROL"


Если пусто — трюк не сработает вообще, а вы будете уверены в обратном.

Исправить опечатку в предыдущей команде


systemctl status nginx-confg
^confg^config


Заменяет и сразу выполняет. Нюанс: только первое вхождение. Проверил на echo aaa bbb aaa — после ^aaa^XXX получилось XXX bbb aaa. Для всех вхождений другая конструкция:


!!:gs/aaa/XXX/


Открыть длинную команду в редакторе


fc


Вытаскивает последнюю команду в $EDITOR, после сохранения bash её выполняет. Нюанс: порядок поиска редактора — FCEDIT, потом EDITOR, и только потом vi по умолчанию. На голом сервере без vi получите bash: vi: command not found и никакого редактирования. Заранее пропишите export FCEDIT=nano или что вам ближе.

Оживить терминал после вывода бинарника


reset


clear только прокручивает экран, а reset переинициализирует терминал целиком. Если и это не помогает — stty sane возвращает настройки ввода, когда не видно набираемых символов.

Отвязать процесс от закрывающейся сессии


bg
disown -h %1


Нюанс: -h и без него — разные вещи. С -h задача остаётся в jobs, но не получит SIGHUP при закрытии терминала. Без флага задача исчезает из таблицы совсем. Проверил оба варианта, разница именно в этом.

И про главное ограничение трюка с пробелом: он прячет команду от файла истории, но не от системы. Пока процесс жив, его аргументы видны в ps -eo args любому пользователю. Пароль в командной строке остаётся паролем в командной строке — читайте его из файла или переменной окружения.

А чем вы правите длинные пайплайны — fc или сразу пишете в файл?

#Linux #Bash #Terminal #Security #DevOps
  • 👍 4
More from @linuxskill
  1. Oct 2, 2026📊 Диск тормозит, а iostat показывает норму? Ищем хвост задержек Приложение подвисает на з…
  2. Sep 30, 2026💀 CPU под 100%, а в top пусто? Ловим невидимые процессы через eBPF Сервер греется, в шапк…
  3. Sep 28, 2026🔥 Знаешь только ip a? 10 неочевидных команд ip для Linux Большинство админов знают про ip…
  4. Sep 25, 2026Разобрать строку штатным <regex.h> и не получить молчаливое «нет совпадения». Проверял на…
  5. Sep 23, 2026Закрыть периметр правилами iptables и не остаться при этом за дверью вместе с атакующим. П…
  6. Sep 21, 2026Добавить пользователя в группу и не выкинуть его при этом из sudo Добавить во вторичную гр…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →