Обновить

Проблему Microsoft с изменением часовых поясов в Канаде можно решить только вручную

Время на прочтение2 мин
Охват и читатели6.4K
Всего голосов 6: ↑5 и ↓1+10
Комментарии18

Комментарии 18

...можно решить только вручную

Одной проблемой, решаемой вручную, больше, одной меньше — какая разница? :D

Жду не дождусь, когда везде отменят переход на зимнее/летнее время. Хотя бы одной проблемой в мире станет меньше.
К слову, это то немногое, за что я благодарен Дмитрию нашему Медведеву )

Когда в октябре 2011 года в России оставили летнее время (UTC+4), то почти все админы Европейской части страны поменяли таймзону на Дубай, ОАЭ - там как раз правильная таймзона, без перехода на летнее время.

Не знаю ни одного из «админов Европейской части», который бы так сделал. Более того, в 2010–2016 году меня можно считать одним из них. И я с уверенностью говорю, что вопрос с часовыми поясами решался не совсем так. А причины могли быть разными.

Впрочем, этот способ (таймзона Дубай) может быть удобен для ряда случаев. Спасибо, что напомнили. Пожалуйста, я применю его в бортовом компе авто, чтобы часы магнитолы корректно синхронизировались с GPS.

Переводили на другой регион конечно не все. Кто-то в реестре создавал вручную новую таймзону.

Компьютеры работают по UTC, а пользователь на экране видит время UTC+корректировка часового пояса. Просто не стоит менять отображаемые на экране часы без корректировки часового пояса.

Компьютеры работают по UTC

Я подозреваю, что тут проблема как раз в том, что оно не совсем так. Винда обычно считает, что время в материнке - местное. И по этой причине все и разъехалось. Потому что вычисленное 'UTC' оказалось неправильным.

Windows по умолчанию расценивает системное время как локальное и часы в биосе настраивает соответствующим образом. Ей нужно отдельно объяснять, что это не так, если, например, используется дуалбут с линуком, который считает, что системное время = UTC. Иначе, они передерутся.

Между собой компьютеры обмениваются данными по стандартам. Что в ISO, что в RFC время в местном часовом поясе + часовой пояс.

Что в ISO, что в RFC время в местном часовом поясе + часовой пояс.

А внутри какого-нибудь криптографического токена для вычислений берется UNIX timestamp. Каждая сторона вычисляет его по "Местное время+часовой пояс", получает разные значения (потому что таблицы таймзон у каждой стороны разные) и в результате ничего не сходится.

BIOS, Linux к проблеме Microsoft с авторизацией относятся мало.

время в местном часовом поясе + часовой пояс.

Я спросил у гугла без никаких упоминаний UTC в вопросе: 1) авторизация в домене , 2) как в авторизации прописано время на устройстве авторизуемом и авторизующего , 3) как именно задается время т.к. устройства могут находится в разных часовых поясах.

Получил ответ

Скрытый текст

Разные часовые пояса никак не мешают доменной авторизации, потому что внутри системы время задается и проверяется исключительно в Coordinated Universal Time (UTC) (Всемирное координированное время).

Для Kerberos и контроллера домена не важно, сколько времени показывают стрелки часов на вашем рабочем столе — важно, чтобы совпадало «абсолютное» время.

Вот как именно это устроено технически:

1. Единая шкала времени (UTC / Unix Timestamp)

На аппаратном и системном уровне время отправляется в формате, очищенном от часовых поясов.

  • В пакете Kerberos: Когда клиент отправляет запрос контроллеру домена, поле Timestamp заполняется временем в формате UTC (или в виде количества секунд, прошедших с 1 января 1970 года — Unix Epoch).

    .................

3. Где возникают проблемы и как они решаются

Проблемы с авторизацией из-за часовых поясов всё же случаются, но происходят они только в двух случаях:

  • Неправильно выбран часовой пояс на клиенте: Если на часах компьютера визуально стоит правильное местное время (например, 15:00), но в настройках системы ошибочно указан часовой пояс Москвы (UTC+3) вместо Новосибирска (UTC+7), то система вычислит UTC как 12:00 вместо 08:00. Разница с контроллером составит 4 часа, и Kerberos заблокирует вход.

  • Сбой перевода часов: Если в регионе отменили или ввели летнее время, а на одном из устройств не стоят нужные обновления ОС, внутренний расчет UTC сбивается на 1 час, что также ломает авторизацию.

Время сохранения файла в файловых системах задается строго по UTC (Всемирному координированному времени) [EEAT], однако пользователю оно отображается по местному времени устройства, на котором файл просматривают. (исключая FAT32 и частично exFAT )

Для компьютеров переменно работающих в Linux и Windows для Windows есть RealTimeIsUniversal

BIOS, Linux к проблеме Microsoft с авторизацией относятся мало.

В момент загрузки UTC время (то самое, которое внутри системы) Windows откуда берет и как вычисляет? Там довольно большая область, где всякие накладки могут случиться, есть.

При загрузке операционной системы время берётся из внутренних часов - тех самых, которые питаются от батарейки CR2032. После запуска сетевых интерфейсов время подстраивается по протоколу NTP (по умолчанию - с адреса time.windows.com), но можно указать и любой другой NTP-сервер, в том числе и локальный (например, 192.168.10.1)

после отказа ряда регионов ... от перехода на летнее время

Они отказались от перехода на зимнее время и остались на летнем.

А сколько чудес еще принесет 2038 год..

Если старинные 32 разрядные системы доживут в значительном количестве.

Мне думается куча ПО доживет до этого момента. Особенно в госушных системах разных стран.

Без некроманта вряд ли конторское железо сколько протянет.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации