Изменить дату только для одного пользователя без полномочий root в Linux

Возможно ли изменить дату только для определенного пользователя (не root) в Linux?

Если возможно, как это сделать?

  • Преобразование даты / времени в текущий JDN
  • Получить время изменения файла в формате yyyymmddhh24miss
  • Как отображать дату Дискорда?
  • преобразование времени unix в строку времени с помощью команды date
  • Получение последних 5 дней от ввода (чтение командной строки)
  • Проблема 2038 года
  • И было бы здорово, если бы кто-то мог указать на это.

    РЕДАКТИРОВАТЬ

    Поставив мой вопрос другими словами.

    Я хочу изменить день и время, начиная с того, что происходит сейчас, в другой день и время в Linux, не имея привилегий root.How я могу достичь этого?

  • Дата вступления в силу для чтения День / Месяц / Год
  • Преобразование даты / времени в текущий JDN
  • Как получить последний день предыдущего месяца в UNIX (HPUX)
  • Изменить дату сервера с помощью PHP
  • Как установить дату в формате Epoch
  • преобразование времени unix в строку времени с помощью команды date
  • 3 Solutions collect form web for “Изменить дату только для одного пользователя без полномочий root в Linux”

    Дата является общесистемным параметром, который имеет решающее значение для системы (а не для пользователя). Он появляется в метках времени файловой системы, протоколировании, демона, планировании и т. Д. Многие программы ломают или могут даже повредить вашу систему, если дата неточна. Таким образом, в этом смысле время должно постоянно увеличиваться и корректироваться не только локально, но и в случае каких-либо не-www-сетей, также в глобальном масштабе. Даже сертификаты перестают работать, если между клиентом и сервером слишком много разницы во времени.

    Таким образом, в этом смысле системная дата / время – только одна – фактическая дата / время (желательно в формате UTC, в противном случае файловая система вашего ноутбука может сломаться при переключении часовых поясов).

    С другой стороны, настройка часового пояса – это просто уровень перевода с UTC на дату, представленную пользователю. Это можно изменить (см. Комментарий X Тянь). Но я не знаю, хочет ли это то, что вы хотите – он может устанавливать только целые числа (иногда целые числа), количество часов, но не более одного дня. Технически можно построить пользовательский часовой пояс, чтобы вызвать произвольную задержку, но это уродливый взлом.

    Все основные манипуляции временем по-прежнему относятся к времени unix (целое число, которое тикает равномерно с 1/1/1970), поэтому locale (timezone & stuff) обычно используется только для визуального отображения времени или для некоторых очень специфических применений в сценариях которые полагаются на эту функциональность. Например, date вызывает функцию clock_gettime которая извлекает системное время, а затем вызывает localtime для перевода в текущую локаль. Внутреннее представление – это всегда системное время.

    Для этого могут быть специальные модули ядра – или замены библиотек. Вы можете создать поврежденную библиотеку с адаптированной функцией clock_gettime и сделать ее видимой для одного пользователя. Я не знаю, как это повлияет на вашу систему. Манипуляция файловой системой и все такое, что все еще обрабатывается ядром, поэтому основное условие будет работать. Однако планирование, средства резервного копирования и make-файлы могут работать некорректно.

    EDIT: возможно, вам нужна виртуальная машина. Это тогда более изолировано, и если вы хотите изменить время, вы могли бы. Иногда бывает полезно обойти неисправности программного обеспечения, вызванные временем.

    Вы можете установить свою переменную окружения TZ, как в своем профиле, так и в общем профиле специально для этих пользователей.

     $ date Fri Mar 21 10:11:15 GMT 2014 $ export TZ="PST+8" $ date Fri Mar 21 02:11:53 PST 2014 

    Максимальное значение для TZ составляет 24 часа

    Есть только несколько системных вызовов, которые получают дату / время, поэтому вы можете поместить библиотеку предварительной загрузки на место, чтобы изменить значения, возвращаемые этими вызовами, в зависимости от того, что вы хотите сделать (что еще несколько неясно из вопроса) , Это был общий трюк, когда тестирование Y2K было на высоте.

    Похоже, https://github.com/wolfcw/libfaketime может делать то, что вы хотите, но если это не так просто, чтобы сворачивать самостоятельно.

    Linux и Unix - лучшая ОС в мире.