Почему переменная окружения TZ
обычно не указана в AcceptEnv
в /etc/ssh/sshd_config
? Я не пытаюсь решить проблему здесь, и я знаю, что я могу просто добавить ее в файл конфигурации. Что мне интересно, так это то, что по какой-то причине его там нет по умолчанию. Я просмотрел файлы по умолчанию для дистрибутива OSX и нескольких дистрибутивов Linux, и все они имеют одинаковое значение по умолчанию: AcceptEnv LANG LC_*
Есть ли причина, по которой TZ
там тоже нет?
1 ответ
Есть запросы, чтобы принять и отправить эту переменную среды, но я не вижу смысла делать это по умолчанию, как я указал в вышеупомянутой ошибке:
LANG и LC_ * отправляются / принимаются ssh / sshd на основании сообщения об ошибке # 179851, 10 лет назад. Аргументы в основном касаются кодировки, которая может вызвать проблемы, если не будет передана в удаленный сеанс. Но с другой стороны, запрос языка / локали / кодировки, который не установлен на сервере, вызывает проблемы в различных инструментах, которые не могут обработать ошибки.
Перечисленные выше переменные среды
LANG
иLC_*
являются стандартными в оболочке и устанавливаются по умолчанию, в отличие отTZ
. После того, как вы настроитеTZ
в своей локальной системе (и у вас есть причина установить это значение, отличное от общесистемного значения), вы сможете настроить также сервер с тем же TZ или отправить / принять эту конфигурацию. Я не думаю, что это должно прийти по умолчанию.
Короче говоря, это вызовет гораздо больше путаницы, чем помощи. Разные пользователи с разными настройками TZ
будут видеть разные форматы времени и значения на одном сервере для одних и тех же событий.
Хотя, если вы можете представить вескую причину, почему это должно идти туда, я могу слушать.