Страница 1 из 1

MAP и %HOME_DIRECTORY

СообщениеДобавлено: 11 мар 2009, 01:53
bgInner
Здравствуйте. В логин-скрипте пытаюсь замапить для пользователя домашний каталог , состоящий из русских букв (русские буквы обязательны - начальство требует), следуюзим образом:
MAP ROOT J:= %HOME_DIRECTORY
Однако, клиент выдает следующую ошибку:

LOGIN-LGNWNT32.DLL-430: Невозможно выполнить операцию назначения сетевого диска.
[ROOT J:=FS1/USER:USERS\<ИЄив]


Покумекав, понял, что абракадабра – это DOS-овский текст (cp866) в виндозной кодировке. Это легко проверить хотя бы с помощью FAR manager – он легко умеет конвертировать туда и обратно.

Но, что интересно: если напрямую мапить домашний каталог:

MAP ROOT J:= FS1/USER:USERS\ВасяПупкин

то команда отрабатывает нормально. Но это крайне неудобно: для каждого пользователя придется вручную прописывать домашний каталог. Гораздо удобнее и универсальнее через %HOME_DIRECTORY в логин-скрипте контейнера.

Подскажите, пожалуйста, это глюк команды MAP, Novell Client, Novell Netwsre Server или чего-то другого? Можно ли как-то это обойти?

Система: сервер Novell Netware 6.5 + (Novell Client 4.91 + Windows XP SP3)

P.S. Если вопрос глупый, прошу отнестись с пониманием: пытаюсь администрировать Novell всего лишь несколько месяцев.

P.P.S. Пробовал передавать %HOME_DIRECTORY из логин-скрипта в собственноручно написанную для этого случая консольную программу на С++ для конвертации из cp866 в win1251 и обратного возврата в скрипт через переменную окружения, но получается полная лажа, т.к. Novell-клиент (или Win XP???) передает программе абракадабру, еще раз отконвертированную в черт знает какую кодировку.

Это проблемы наших кодировок

СообщениеДобавлено: 11 мар 2009, 10:10
Павел Гарбар
Результат работы утилит сильно зависит от того, какие локали установлены на сервере и рабочей станции.
На сервере NW русские названия чаще всего хранились в кодировке 866, а винда, есессно, пытается показывать с 1251. Сейчас (несколько лет назад) на нашу голову добавилась еще UTF8.
Поэтому очень давно есть рекомендации для всяко-разных вещей использовать латиницу. Типа для имен пользователей, названий серверов/томов/общих каталогов и пр.
Кстати, домашний каталог лучше в формате 8.3 называть.

СообщениеДобавлено: 12 мар 2009, 00:26
bgInner
Павел Гарбар писал(а):Результат работы утилит сильно зависит от того, какие локали установлены на сервере и рабочей станции.

на сервере - язык английский, кодовая страница 866, на клиенте - windows 1251

На сервере NW русские названия чаще всего хранились в кодировке 866, а винда, есессно, пытается показывать с 1251.

Тогда получается, что это все-таки клиент виноват... Криво отдает переменные окружения в скрипт - не конвертирует их в 1251.

Поэтому очень давно есть рекомендации для всяко-разных вещей использовать латиницу. Типа для имен пользователей, названий серверов/томов/общих каталогов и пр.

Начальству не прикажешь...Русских букв хотят. :shock:

Кстати, домашний каталог лучше в формате 8.3 называть.

Почему?

P.S. Кстати, меня тут мысль пробила: а если язык русский на сервере поставить, переменные окружения будут нормально отдаваться клиенту? Или одно от другого не зависит? :verlegen:

Долгая история

СообщениеДобавлено: 12 мар 2009, 11:13
Павел Гарбар
>Тогда получается, что это все-таки клиент виноват... Криво отдает переменные окружения в скрипт - не конвертирует их в 1251.

Это сложный вопрос. В ДОСе прошло бы нормально. А так разные утилиты и переменные то поддерживают локаль, то нет...

>Начальству не прикажешь...Русских букв хотят.
Смотря кто :-)
Начальству не обязательно приказывать - можно аргументировано объяснить. Твоя проблема, которую можно было избежать в принципе - один из аргументов. А есть еще программы и сервисы, которые в принципе русских букв не приемлют, Интернетовая эл. почта, например (это тебе второй аргумент). Если сильно хочется видеть русские имена пользователей, то есть замечательное поле - full name.

>Почему?
Потому что. Исторически сложилось. А историю читай в документации.

СообщениеДобавлено: 12 мар 2009, 13:24
Андрей Тр. aka RH
bgInner писал(а):Начальству не прикажешь...Русских букв хотят. :shock:

Для начальства можно насоздавать ссылок на реальные домашние каталоги - каталоги именовать как пользователей ( то есть на инглиш, в нужном формате ), ссылки - хоть на китайском. Имена пользователей должны быть уникальны - что если у вас будет два И.И.Иванова ? Теоретически, собсно каталоги можно от начальства даже скрыть ( убрать F ? ), чтобы были видны только ссылки. Хотя это, конечно, не вариант, но чисто для удобства - почему бы и нет ?

Я чего то не понял, а начальству какое до этого дело?

СообщениеДобавлено: 13 мар 2009, 01:32
Boris Morozov
Вы же мапите каталог в ROOT, user в принципе не видит имя каталога?
Или это паранойя с подглядыванием за пользователями?

СообщениеДобавлено: 13 мар 2009, 03:21
Timur Kazimirov
В дополнение ко всему выше сказанному, могу еще добавить, что вы огребетесь проблем с домашними каталогами на русском языке, если соберетесь хранить там профили пользователей.

Re: Я чего то не понял, а начальству какое до этого дело?

СообщениеДобавлено: 14 мар 2009, 00:49
bgInner
Boris Morozov писал(а):Вы же мапите каталог в ROOT, user в принципе не видит имя каталога?
Или это паранойя с подглядыванием за пользователями?


Что-то в роде того. Начальнику мапится каталог (в качестве диска) со всеми домашними каталогами пользователей. Он там будет "лазить" и смотреть, что кто сделал и делает. Юзерам делается похожая вещь: мапится диск с домашними каталогами пользователей, но в каждом каталоге "чужого" пользователя юзер видит только одну папку (назовем ее "обмен") для обмена файлами с другими пользователями. Остальное содержимое домашних каталогов других пользователей остается невидимым для каждого конкретного пользователя.

Re: Долгая история

СообщениеДобавлено: 14 мар 2009, 00:53
bgInner
Павел Гарбар писал(а):Если сильно хочется видеть русские имена пользователей, то есть замечательное поле - full name.


Нет, начальнику хочется видеть русские не имена пользователей, а русские названия домашних каталогов, поэтому full name здесь не поможет. Или я неправильно что-то понял?

СообщениеДобавлено: 14 мар 2009, 00:55
bgInner
Андрей Тр. aka RH писал(а):
bgInner писал(а):Начальству не прикажешь...Русских букв хотят. :shock:

Для начальства можно насоздавать ссылок на реальные домашние каталоги - каталоги именовать как пользователей ( то есть на инглиш, в нужном формате ), ссылки - хоть на китайском. Имена пользователей должны быть уникальны - что если у вас будет два И.И.Иванова ? Теоретически, собсно каталоги можно от начальства даже скрыть ( убрать F ? ), чтобы были видны только ссылки. Хотя это, конечно, не вариант, но чисто для удобства - почему бы и нет ?


Андрей, можно поподробнее про ссылки. Прошу прощеня, я только начинающий админ. Кроме администрирования на мне висит еще куча другой работы. Поэтому не всегда хватает времени на чтение доки.

СообщениеДобавлено: 14 мар 2009, 07:44
Андрей Тр. aka RH
Ссылки имелись в виду обычные шорткаты в Виндоуз ( объект типа .lnk ), к Новеллу отношения не имеющие. Если начальству хочется видеть список имен пользователей, по которым можно добраться к их файлам, то можно где угодно ( хоть на десктопе начальства ) создать наборт таких ссылок, именовать их как угодно - типа "Наш Главный Бухгалтер - Иванова Марья Ивановна", указывающих на реальные домашние каталоги ( типа miivanova ).

Про проблему с уникальностью имен я вполне серьезно - если у вас небольшая организация, то с ней, вероятно, вы и не столкнетесь. Но использовать это как аргумент можно - ведь ежели такое в будущем таки случится, то придётся эту проблему как-то обходить. Можно, конечно, начинать добавлять к имени цифирки и т.п., но тогда как-то теряется смысл всей этой затеи.

Re: MAP и %HOME_DIRECTORY

СообщениеДобавлено: 15 мар 2009, 14:55
Вячеслав Якименко
bgInner писал(а):В логин-скрипте пытаюсь замапить... следующим образом:
MAP ROOT J:= %HOME_DIRECTORY

В вашем случае в качестве "костыля" можно использовать поле FULL_NAME (разумеется название дом. каталога д.б. идентично FULL_NAME) + (для удобства) создать объект Directory Map на место, где находятся каталоги пользователей, тогда в скрипте это будет выглядеть так:
MAP ROOT J:= .DM_USER.OU.\%FULL_NAME ,
где .DM_USER.OU. = [путь к каталогу пользов. директорий]
Но лучше все-таки прислушаться к советам (см. выше) и привести имена всех польз. каталогов к формату 8.3 на латинице.