Как удалить историю входов
Порой просто необходимо после того как подключился к Ubuntu системе закрыть от любопытствующих возможность узнать, а действительно ли Вы подключались к ней через удаленное подключение (SSH) или входили локально (через vSphere Client, Hyper-V, iLo, IPMI и т.д)
ekzorchik@system:~$ ssh -l ekzorchik 172.40.40.21
ekzorchik@srv-trusty2:~$ lastlog | grep pts
ekzorchik pts/0 172.40.40.7 Sun Mar 11 17:25:15 +0300 2018
ekzorchik@srv-trusty2:~$ sudo lastb
btmp begins Fri Dec 22 16:34:54 2017
ekzorchik@srv-trusty2:~$ last | grep pts
ekzorchi pts/0 172.40.40.7 Sun Mar 11 17:25 still logged in
ekzorchik@srv-trusty2:~$ tail -f /var/log/auth.log
Mar 11 21:26:10 srv-trusty2 sshd[891]: Server listening on 0.0.0.0 port 22.
Mar 11 21:26:10 srv-trusty2 sshd[891]: Server listening on :: port 22.
Mar 11 21:26:26 srv-trusty2 sshd[1066]: Accepted password for ekzorchik from 172.40.40.7 port 57400 ssh2
Mar 11 21:26:26 srv-trusty2 sshd[1066]: pam_unix(sshd:session): session opened for user ekzorchik by (uid=0)
Для пояснения каждая команда это свой лог файл который ведет система:
Команда | Журнал логов | Описание |
last | /var/log/wtmp | История успешных входов/выходов |
lastb | /var/log/btmp | История неудавшихся попыток входа |
lastlog | /var/log/lastlog | Список последних подключавшихся пользователей |
Чтобы не оставлять следы в системе своего пребывания данные лог файлы следует почистить, но только если у Вас права суперпользователя в противном случае увы сделать это не получится.
ekzorchik@srv-trusty2:~$ sudo sed -i «s/PrintLastLog .*/PrintLastLog no/1» /etc/ssh/sshd_config
ekzorchik@srv-trusty2:~$ sudo rm -f /etc/rsyslog.d/50-default.conf
ekzorchik@srv-trusty2:~$ sudo chmod 000 /etc/cron.daily/logrotate
ekzorchik@srv-trusty2:~$ sudo chmod 000 /etc/logrotate.d/*
ekzorchik@srv-trusty2:~$ sudo rm -f /var/run/utmp
ekzorchik@srv-trusty2:~$
sudo bash -c «cat /dev/null > /var/log/lastlog»
ekzorchik@srv-trusty2:~$ sudo bash -c «cat /dev/null > /var/log/utmp»
ekzorchik@srv-trusty2:~$ sudo bash -c «cat /dev/null > /var/log/wtmp»
ekzorchik@srv-trusty2:~$ sudo find /var/log -type f -name «*tmp» -exec rm -f <> \;
ekzorchik@srv-trusty2:~$ sudo find /var/log -type f -name «*.log» -exec rm -f <> \;
ekzorchik@srv-trusty2:~$ sudo find /var/log -type f -name «*log» -exec rm -f <> \;
После проверяю, что знает обо мне система , как сейчас так и после перезагрузки системы ( ekzorchik@srv-trusty2:~$ sudo reboot ) при входе в нее по ssh или локально:
ekzorchik@srv-trusty2:~$ last
last: /var/log/wtmp: No such file or directory
Perhaps this file was removed by the operator to prevent logging last info.
ekzorchik@srv-trusty2:~$ sudo lastb
lastb: /var/log/btmp: No such file or directory
Perhaps this file was removed by the operator to prevent logging lastb info.
ekzorchik@srv-trusty2:~$ lastlog
/var/log/lastlog: No such file or directory
Наконец-таки я сформировал для себя какие команды нужны чтобы затереть свое пребывание в системе Ubuntu Trusty Server. Хотя уже сейчас я могу сократить действия, но лучше пусть будет так, да и к тому же все можно объединить в скрипт или ansible playbook.
ekzorchik@srv-trusty2:~$ nano clear
sed -i «s/PrintLastLog .*/PrintLastLog no/1» /etc/ssh/sshd_config
rm -f /etc/rsyslog.d/50-default.conf
chmod 000 /etc/cron.daily/logrotate
cat /dev/null > /var/log/lastlog
find /var/log -type f -name «*tmp» -exec rm -f <> \;
find /var/log -type f -name «*.log» -exec rm -f <> \;
find /var/log -type f -name «*log» -exec rm -f <> \;
ekzorchik@srv-trusty2:~$ chmod +x clear
ekzorchik@srv-trusty2:~$ sudo ./clear
Проверил и на Ubuntu Xenial Server все также отрабатывает. На этом у меня пока все, с уважением автор блога Олло Александр aka ekzorchik.
От ekzorchik
Всем хорошего дня, меня зовут Александр. Я под ником — ekzorchik, являюсь автором всех написанных, разобранных заметок. Большинство вещей с которыми мне приходиться разбираться, как на работе, так и дома выложены на моем блоге в виде пошаговых инструкции. По сути блог — это шпаргалка онлайн. Каждая новая работа где мне случалось работать вносила новые знания и нюансы работы и соответственно я расписываю как сделать/решить ту или иную задачу. Это очень помогает. Когда сам разбираешь задачу, стараешься ее приподнести в виде структурированной заметки чтобы было все наглядно и просто, то процесс усвоения идет в гору.
Как очистить или удалить последнюю историю входа в Linux
Мануал
В следующей статье вы узнаете, как очистить или удалить последнюю регистрационную информацию на сервере Linux из командной строки.
В системах Linux есть три стандартные команды, которые отображают информацию о последних зарегистрированных пользователях: last, lastb и lastlog.
Вывод этих команд включает: имя пользователя, время последнего входа, IP-адрес, порт и т. Д.
И иногда, чтобы сохранить анонимность, требуется удалить последнюю историю входа.
Удалить информацию о последних входах
Как видно из таблицы ниже, информация о последних зарегистрированных пользователях, включая неудачные попытки входа в систему, хранится в определенных файлах, которые вы не можете редактировать, но их легко удалить.
Чтобы удалить всю информацию о последних зарегистрированных пользователях, вам необходимо очистить файлы, в которых хранится эта информация:
# echo > /var/log/wtmp # echo > /var/log/btmp # echo > /var/log/lastlog
Чтобы проверить последнюю историю входа в систему, включая историю попыток входа в систему, запустите одну из команд из приведенной ниже таблицы.
Команда | Логи | Описание |
---|---|---|
last | /var/log/wtmp | Список успешной истории входа / выхода |
lastb | /var/log/btmp | Показывает неудачные попытки входа в систему |
lastlog | /var/log/lastlog | Показывает самый последний логин |
Пожалуйста, не спамьте и никого не оскорбляйте. Это поле для комментариев, а не спамбокс. Рекламные ссылки не индексируются!
- Аудит ИБ (49)
- Вакансии (12)
- Закрытие уязвимостей (105)
- Книги (27)
- Мануал (2 306)
- Медиа (66)
- Мероприятия (39)
- Мошенники (23)
- Обзоры (820)
- Обход запретов (34)
- Опросы (3)
- Скрипты (114)
- Статьи (352)
- Философия (114)
- Юмор (18)
Anything in here will be replaced on browsers that support the canvas element
OpenVPN Community Edition (CE) – это проект виртуальной частной сети (VPN) с открытым исходным кодом. Он создает защищенные соединения через Интернет с помощью собственного протокола безопасности, использующего протокол SSL/TLS. Этот поддерживаемый сообществом проект OSS (Open Source Software), использующий лицензию GPL, поддерживается многими разработчиками и соавторами OpenVPN Inc. и расширенным сообществом OpenVPN. CE является бесплатным для […]
Что такое 404 Frame? Большинство инструментов для взлома веб-сайта находятся в 404 Frame. Итак, что же представляют собой команды? Вы можете отдавать команды, используя повседневный разговорный язык, поскольку разработчики не хотели выбирать очень сложную систему команд. Команды Команды “help” / “commands” показывают все команды и их назначение. Команда “set target” – это команда, которая должна […]
В этой заметке вы узнаете о блокировке IP-адресов в Nginx. Это позволяет контролировать доступ к серверу. Nginx является одним из лучших веб-сервисов на сегодняшний день. Скорость обработки запросов делает его очень популярным среди системных администраторов. Кроме того, он обладает завидной гибкостью, что позволяет использовать его во многих ситуациях. Наступает момент, когда необходимо ограничить доступ к […]
Знаете ли вы, что выполняется в ваших контейнерах? Проведите аудит своих образов, чтобы исключить пакеты, которые делают вас уязвимыми для эксплуатации Насколько хорошо вы знаете базовые образы контейнеров, в которых работают ваши службы и инструменты? Этот вопрос часто игнорируется, поскольку мы очень доверяем им. Однако для обеспечения безопасности рабочих нагрузок и базовой инфраструктуры необходимо ответить […]
Одной из важнейших задач администратора является обеспечение обновления системы и всех доступных пакетов до последних версий. Даже после добавления нод в кластер Kubernetes нам все равно необходимо управлять обновлениями. В большинстве случаев после получения обновлений (например, обновлений ядра, системного обслуживания или аппаратных изменений) необходимо перезагрузить хост, чтобы изменения были применены. Для Kubernetes это может быть […]
HowTo: Clear or Remove Last Login History in Linux
From the following article you will learn how to clear or remove the last login information on a Linux server from the command line.
On the Linux systems there are three standard commands that show the information about last logged in users: last , lastb , and lastlog .
The output of these commands include: login-name, last login time, IP address, port etc.
Cool Tip: Clear the BASH history effectively! Read more →
And sometimes, to keep anonymity, it is required to erase last login history.
To check the last login history, including the history of login attempts that failed, run one of the commands from the table below.
Command | Logfile | Description |
---|---|---|
last | /var/log/wtmp | Lists successful login/logout history |
lastb | /var/log/btmp | Shows the bad login attempts |
lastlog | /var/log/lastlog | Shows the most recent login |
Remove Information About Last Logins
You already how to check the last login history in Linux, so now it is time to learn how to clear it.
As you can see from the table, the information about the last logged in users, including failed attempts to login, is stored in the specific binary files that you can’t edit but can easily empty them.
To remove all the information about the last logged in users, you have to clear the files where this information is kept:
# echo > /var/log/wtmp # echo > /var/log/btmp # echo > /var/log/lastlog
Cool Tip: Want to stay anonymous? Learn how to use PROXY on the Linux command line. Read more →
That’s all! Hope this short article will be helpful.
how to clear the lastlog file without interruption
on our rhel machine ( production server ) we noticed that lastlog is huge we not want to interrupt the OS logs that always wrote to log but we want to clear the lastlog is it ok to clear the lastlog as
4 Answers 4
Lastlog does not report its size correctly in ls and is often not very large at all. If you are checking its size make sure to either run ls -s or use du .
I believe lastlog is what is called a sparse file. ls without the -s flag is reporting the apparent size of the file instead of the actual size.
Most likely you do not need to clear lastlog or be concerned with how much it is being written to at all.
lastlog is a binary file that contains information about the last time a user logged in, I would always recommend copying the file to a partition that has more storage and compressing it prior to clearing it. However, If you are sure you do not need/want that information I do not think you will introduce any problems by echo > /var/log/lastlog to clear it out.
Overwriting lastlog on RHEL 7 does NOT clear it, but replaces the info when you reboot.
I don’t care that the size is reported weird, I just want to truly clear it and start over after I clone a VM image to create a new system.
So i tried output redirection ‘>’ to overwite it before a reboo. Then I tried to rename it and reboot, but it creates it again with all the history.
~] cat /dev/null > /var/log/lastlog
This is in addition to Natolio’s answer.
It is possible to reset the lastlog for an individual user:
sudo lastlog --clear --user username
Username can also be a range of users, according to the manpage:
The users can be specified by a login name, a numerical user ID, or a RANGE of users. This RANGE of users can be specified with a min and max values (UID_MIN-UID_MAX), a max value (-UID_MAX), or a min value (UID_MIN-).
The following command should clear the lastlog for all regular users:
sudo lastlog --clear --user 1000-