Summary: | Неверное имя компьютера | ||
---|---|---|---|
Product: | Branch p9 | Reporter: | Арбичев Игорь <arbich> |
Component: | samba | Assignee: | Evgeny Sinelnikov <sin> |
Status: | CLOSED FIXED | QA Contact: | qa-p9 <qa-p9> |
Severity: | normal | ||
Priority: | P5 | CC: | mike, zerg |
Version: | не указана | ||
Hardware: | x86_64 | ||
OS: | Linux | ||
See Also: |
https://bugzilla.altlinux.org/show_bug.cgi?id=39761 https://bugzilla.altlinux.org/show_bug.cgi?id=41234 |
Description
Арбичев Игорь
2021-03-04 17:37:16 MSK
samba сама может отрезать себе нужное кол-во символов от имени хоста. (Ответ для Sergey V Turchin на комментарий #1) > samba сама может отрезать себе нужное кол-во символов от имени хоста. Я с таким как-то не сталкивался. Видимо, потому что не давал таких длинных имён хостам. Нужно проверять. Я думаю, что это не проблема samba. Думаю, что это проблема alterator-net-eth на текущий момент. Это если мы хотим согласованности в задании NETBIOS имени и имени хоста. Вообще, хотелось бы определиться - какое поведение мы хотим для таких случаев, когда имя хоста более 15 символов? Я тоже думаю, что это проблема не samba, а установщика. Установщик должен проверять длину автоматически сгенерированного им имени компьютера, чтобы отсекать недопустимые значения. (In reply to Арбичев Игорь from comment #3) > Я тоже думаю, что это проблема не samba, а установщика. Установщик должен > проверять длину автоматически сгенерированного им имени компьютера, чтобы > отсекать недопустимые значения. Недопустимые в каком плане. В плане того, что допустимо в протоколах проекта samba? Не думаю. Ведь в системе може и не быть samba. Или smb-сервис может не использоваться. Делать при некоторых условиях предупреждение и предлагать изменить имя более удачный вариант я думаю. И не к инсталлятору это имеет отношение, а к пакету управляющему заданием имени хоста - alterator-net-eth. Ну, хотя я понял. К генератору хостнейма в иснталляторе это тоже относится. Я не понимаю зачем делать такой длинный хостнейм. (Ответ для Evgeny Sinelnikov на комментарий #2) > Вообще, хотелось бы определиться - какое поведение мы хотим для таких > случаев, когда имя хоста более 15 символов? Чтоб ругалось, но работало. Разве есть смысл в другом поведении? (Ответ для Sergey V Turchin на комментарий #7) > Повесил bug#39758 Что вы хотели этим сказать? (Ответ для Арбичев Игорь на комментарий #8) > > Повесил bug#39758 > Что вы хотели этим сказать? Думаю, zerg@ про bug#39761 (гм, там тоже перевели? а ну-ка: ошибка#39761) (Ответ для Sergey V Turchin на комментарий #1) > samba сама может отрезать себе нужное кол-во символов от имени хоста. А может она и так это делает и ругается на всякий, т.к. различия имени в smb:/ и остальных местах не есть хорошо. (Ответ для Арбичев Игорь на комментарий #8) > (Ответ для Sergey V Turchin на комментарий #7) > > Повесил bug#39758 > > Что вы хотели этим сказать? Уважаемый Сергей! Я прошу вас ответить мне конкретно, вы будете заниматься устранением этой ошибки в инсталляторе Alt KWorkstation? Если вы не хотите этим заниматься, то я напишу письмо Михаилу Шигорину, и пусть он примет окончательное решение. Я вспомнил, что пару лет назад в переписке со мной Михаил Шигорин сказал, что в KDE вообще все плохо с samba. Ну так это еще один пример того, что действительно плохо. (Ответ для Арбичев Игорь на комментарий #12) > Я вспомнил, что пару лет назад в переписке со мной Михаил Шигорин сказал, > что в KDE вообще все плохо с samba. Что-то не помню такого -- возможно, или сказал не я, или сказал иное (что Вы запомнили так, а я вообще забыл). > Если вы не хотите этим заниматься, то я напишу письмо Михаилу Шигорину, > и пусть он примет окончательное решение. Ну я-то отвечаю за эльбрусы, а не КРабочую станцию и тем более за zerg@. А так изложенное sin@ в comment 4 поддерживаю. (Ответ для Арбичев Игорь на комментарий #11) > Я прошу вас ответить мне конкретно, вы будете заниматься устранением этой > ошибки в инсталляторе Alt KWorkstation? Будем, поэтому завёл ошибка#39761 Но, позже, т.к. обходной доступен даже чайнику как при установке так и после. Тут ещё раз спрошу: samba сама может отрезать себе нужное кол-во символов от имени хоста? Она это делает или нет? Она ругается, но работает или встаёт в позу? (In reply to Sergey V Turchin from comment #15) > Тут ещё раз спрошу: samba сама может отрезать себе нужное кол-во символов от > имени хоста? Она это делает или нет? Я не очень понимаю смысла этого вопроса. Что имеется в виду под действием "отрезать себе нужное кол-во символов"? Мне кажется не логичным что-то резать. Я проверил - написал вот такой скрипт на питоне: sin@xpi ~ $ cat samba-netbiosname.py #!/usr/bin/python3 from samba import getopt as options import optparse parser = optparse.OptionParser() sambaopts = options.SambaOptions(parser) lp = sambaopts.get_loadparm() print(lp.get("netbiosname")) 1) Проверка без netbios name в smb.conf для короткого hostname: sin@xpi ~ $ grep netbios /etc/samba/smb.conf # netbios name = XPI sin@xpi ~ $ hostname xpi sin@xpi ~ $ ./samba-netbiosname.py XPI 2) Проверка без netbios name в smb.conf для длинного hostname: sin@xpi ~ $ sudo hostname super-pupper-xpi-computer-for-long-name [sudo] password for sin: sin@xpi ~ $ ./samba-netbiosname.py SUPER-PUPPER-XPI-COMPUTER-FOR-LONG-NAME Вывод - не режет. 3) Проверка с заданным netbios name в smb.conf для длинного hostname: sin@xpi ~ $ hostname super-pupper-xpi-computer-for-long-name sin@xpi ~ $ ./samba-netbiosname.py SUPER-PUPPER-XPI-COMPUTER-FOR-LONG-NAME sin@xpi ~ $ grep netbios /etc/samba/smb.conf netbios name = XPI sin@xpi ~ $ ./samba-netbiosname.py XPI > Она ругается, но работает или встаёт в > позу? Честно говоря, я пока не видел для рассматриваемой проблемы вывода о том, что samba на что-то ругается. Вывод был от kf5.kio.core и непонятно, где эта проверка делается. Я снова проверил: clw2 ~ # hostname clw2.domain.alt clw2 ~ # sudo mcedit /etc/samba/smb.conf clw2 ~ # grep netbios /etc/samba/smb.conf # netbios name = CLW2 clw2 ~ # hostname super-computer-for-long-name-clw2.domain.alt clw2 ~ # kinit administrator Password for administrator@DOMAIN.ALT: Warning: Your password will expire in 35 days on Wed Apr 14 22:36:00 2021 clw2 ~ # net ads join -k Our netbios name can be at most 15 chars long, "SUPER-COMPUTER-FOR-LONG-NAME-CLW2" is 33 chars long Invalid configuration. Exiting.... Failed to join domain: The format of the specified computer name is invalid. ______________________ Вывод - не режет, но урезанный вариант нужно явно прописывать в smb.conf. Ещё один вывод kf5.kio.core, похоже, возвращает ошибку от samba. (Ответ для Evgeny Sinelnikov на комментарий #16) > Ещё один вывод kf5.kio.core, похоже, возвращает ошибку от samba. По любому не сам выдумывает. https://www.novell.com/documentation/open-enterprise-server-2018/file_samba_cifs_lx/data/bc855e3.html?view=print (Ответ для Evgeny Sinelnikov на комментарий #16) > Our netbios name can be at most 15 chars long, > "SUPER-COMPUTER-FOR-LONG-NAME-CLW2" is 33 chars long > Invalid configuration. Exiting.... > Вывод - не режет Значит, ругается и не работает. >, но урезанный вариант нужно явно прописывать в smb.conf. А почему бы ей по умолчанию самой не отрезать? (In reply to Sergey V Turchin from comment #17) > (Ответ для Evgeny Sinelnikov на комментарий #16) > > Ещё один вывод kf5.kio.core, похоже, возвращает ошибку от samba. > По любому не сам выдумывает. > https://www.novell.com/documentation/open-enterprise-server-2018/ > file_samba_cifs_lx/data/bc855e3.html?view=print Я имел в виду, что строка ошибки, судя по всему, прилетает из libsmclient или другой samba-библиотеки. (In reply to Sergey V Turchin from comment #18) > (Ответ для Evgeny Sinelnikov на комментарий #16) > > Our netbios name can be at most 15 chars long, > > "SUPER-COMPUTER-FOR-LONG-NAME-CLW2" is 33 chars long > > Invalid configuration. Exiting.... > > Вывод - не режет > Значит, ругается и не работает. > > >, но урезанный вариант нужно явно прописывать в smb.conf. > А почему бы ей по умолчанию самой не отрезать? Я против такого неявного варианта решения, поскольку появляется множество неоднозначных, трудновосроизводимых сайд-эффектов. Более того, это совершенно нерабочий вариант для машины в домене, у которой доменное имя хоста прилетает из ниоткуда путём отрезания. При этом получается странная конфигурация, когда имя хоста не соответствует имени NETBIOSNAME. Этот вариант нужно проверять на работе в режиме длинного имени хоста и явно заданного, укороченного NETBIOSNAME. Какую задачу мы хотим решить? Я вижу условия и решение таким образом: - генератор имён сейчас задаёт слишком длинные имена узлов; - для имён узлов больше 15 символов, возникает сбой при работе с библиотеками и протколами samba (обращение к сети, ввод в домен); - если samba не используется, то проблема не возникает; - проблема возникает при явном участии пользователя, который (на этапе установки или на этапе смены имени хоста); - мы можем минимизировать неоднозначность и неудобство от такой нецелостной конфигурации за счёт введения проверок и предупреждений на этапе использования наших графических инструментов (в консольном виде пользователь/администратор столкнётся в проблемой явно); - в случае попытки задания имени слишком длинного имени хоста, в alterator-net-eth можно выкатить диалог с предупреждением и предложением выбрать вариант решения: + оставить, как есть; + урезать имя хоста; + указать урезанный вариант имени хоста в smb.conf. (Ответ для Evgeny Sinelnikov на комментарий #20) > выкатить диалог Такое нужно искоренять. Без всплывающих выкатываний, пожалуйста. (Ответ для Sergey V Turchin на комментарий #21) > (Ответ для Evgeny Sinelnikov на комментарий #20) > > выкатить диалог > Такое нужно искоренять. Без всплывающих выкатываний, пожалуйста. Ну, я не знаю как реагировать на необоснованные требования. Допустим. Пусть всплывающие диалоги - это плохо и дурной стиль (кстати, а каком смысле?). Что мы имеем? - у нас одна и та же настройка (имя хоста) оказывается задействована в разных службах; - и одна из этих служб (samba) фиксирует собственные дополнительные ограничения на это имя хоста; - у сущности, которая соответствует имени хоста, в этой службе есть специальное название - NETBIOSNAME (или netbios name), которое задаётся в /etc/samba/smb.conf - при этом, имя хоста влияет на netbios name в случае, если эта опция не задана явно. Вот какой вариант решения я вижу по этому поводу (пока без деталей реализации): - нужно вместе в именем хоста иметь возможность явно задавать netbios name; - при этом требуется сохранить возможность задать любую конфигурацию, в том числе и несогласованную для какого либо варианта использования (ну, не всем нужна samba, скажем так); - однако хотелось бы предоставить пользователю информацию об ограничениях, к которым приводит конфигурация несогласованная для какого либо варианта (в данном случае, слишком длинное имя хоста). Будут при этом всплывать диалоги или нет - вопрос второй или даже третий. Могу предложить другой вариант доработки alterator-net-eth: - в этот модуль нужно добавить дополнительное более ввода и checkbox для управления netbios name; - если checkbox не включен, то netbios name не меняется (остаётся, как есть); - при этом, если эта опция не задана, а имя хоста оказалась более 15 символов, то хотелось бы получит в том или ином виде предупреждение; - возможно, предупреждение в виде диалога - это лишнее и достаточно строки с пояснением под checkbox'ом вида: "данная настройка позволяет задать имя хоста в сетях windows (netbios name), имя хоста должно удовлетворять следующим ограничениям". Однако хотелось бы определиться - насколько гибридный вариант с различающимися именем хоста и netbios name технически актуальна? Можно ли рассчитывать, что такой вариант, в принципе, стоит рассматривать как поддерживаемый? Ещё один вариант - это не добавлять дополнительное поле в alterator-net-eth для netbios name, а только один checkbox - "совместимость с имени хоста с сетями windows (netbios name)". И, если эта настройка, задана, то ограничивать допустимый хостнейм 15 символами. Ref: - https://www.zubairalexander.com/blog/windows-computer-name-best-practices-and-recommendations/ "Computer name and NetBIOS name are the same. NetBIOS name is the technical name, but people often find it easier to use the term Computer name." PS: Кстати, не пора ли перенести логику управления именем хоста из alterator-net-eth в отдельный модуль и, соответственно, в отдельное окно инсталлятора? Ведь кроме имени хоста имеется ещё имя домена, которая то ли задана, то ли не задана. Имеется два источника хранения настроек имени хоста: /etc/sysconfig/network и /etc/hostname. А тут вот ещё этот netbios name появился. (Ответ для Evgeny Sinelnikov на комментарий #22) > Ну, я не знаю как реагировать на необоснованные требования. Запустите `alterator-standalone net-eth` и представьте, что по нажатию любой из кнопок вам выкатитсья по 3, как-минимум, различных диалога с различными настройками и вопросами про то, о чем вы до выкатывания конкретного диалога никогда в жизни не догадаетесь. > Пусть всплывающие диалоги - это плохо и дурной стиль В данном контексте да. (Ответ для Evgeny Sinelnikov на комментарий #22) > Ещё один вариант - это не добавлять дополнительное поле в alterator-net-eth > для netbios name, а только один checkbox - "совместимость с имени хоста с > сетями windows (netbios name)". И, если эта настройка, задана, то > ограничивать допустимый хостнейм 15 символами. Мне нравится. В справке это не забыть отразить про 15. "- генератор имён сейчас задаёт слишком длинные имена узлов;" Абсолютно здравая мысль! Я не понимаю, почему нельзя задушить проблему в зародыше - внести изменения в алгоритм работы генератора имен, чтобы он не выдавал имена, которые не нравятся самбе. Исправление давно в p9. |