SAMBA - кириллица и права [SOLVED]
Имеется:
Сервер на gentoo с самбой
Клиенты windows
Клиент gentoo
Что работает: русский язык на сервере, просмотр серверной шары с виндовых машин, чтение/запись с виндовых машин, кириллица с виндовых машин.
Что НЕ работает: запись с gentoo-клиента от обычного юзера (root писать может), кириллица - вне зависимости от настроек nls отображается квадратиками.
Монтирую шару с опциями: rw,users,exec,dev,nosuid. экспериментирую в разных вариантах, результат один - писать может только рут :(
С кириллицей вообще отдельная история... в конфиге сервера (самбы) стоит строчка "dos charset = 866", что позволяет виндовым машинам дружить с кириллицей. Если добавляю "unix charset = 866", то gentoo-клиент начинает понимать кириллицу, но тут же разучиваются виндовые машины.
Вот такой вот винигрет :(
Очень нужна помощь, уже все зубы обломал :(
- Для комментирования войдите или зарегистрируйтесь
Не вижу
Не вижу проблем. Во-первых там есть настройки про DOS CharSet и про UNIX CharSet. Надеюсь сообразишь что с ними делать:)
А про права - чую что есть подвох, но пока не помню где.
дык в том-то и
дык в том-то и дело, что если ставлю одновременно
dos charset = 866
unix charset = 866
то гентушный клиент видит кириллицу, а виндовые - нет
если ставлю только dos charset, то русский понимают соответственно одни виндовые клиенты :(
unix charset = <твоя
unix charset = <твоя локаль>
А чтобы линуховый клиент видел - нужно перекодировку настроить. Например Krusader это умеет:)
локаль у меня
локаль у меня utf8. если ставлю так, то виндовые клиенты видят всё нормально, но gentoo всё равно видит всё квадратиками... дитя малевича, блин...
krusader стоит, настройки в нём не помогают, и, боюсь, только больше всё запутают...
прошу обратить внимание, что если ставлю unix charset = 866, то линух всё понимает, не смотря на "другую" локаль. Вообще, что есть локаль? default codepage или nls? или вообще содержимое /etc/conf.d/02locale?
dos charset =
dos charset = кодировка, в которой общаются виндовые тачки
unix charset = кодировка, в которой хранятся имена файлов.
В Krusader есть такая рюшечка - кодировка для панели. Смотри туда. Если уж совсем не нравится - настраивай себе локаль ru_RU.CP866 :)
ну, меня не
ну, меня не устроит, если имена файлов будут правильно отображаться только в крузадере :)
локаль такую тоже ставить не хочу...
опциями mount это никак нельзя обыграть?
codepage=866 уже пробовал, не помогает :(
выяснил, что
выяснил, что ЛЮБЫЕ значения codepage, iocharset, nls, передаваемые команде mount, ничего не меняют в отображении имён файлов.
имена файлов выглядят правильно в единственном случае: если на сервере активна опция unix charset = 866, но она "отключает" отображение на виндовых машинах.
кто-нибудь знает, как мне сделать так, чтобы и на виндовых, и на линуксовых машинах правильно и одновременно отображались имена файлов?
На машине под
На машине под gentoo надо собрать ядро, в разделе файловых систем подраздел сетевые файловые системы, поставить y на smb и чуть ниже есть строчка, типо какая локаль по дефолту, там написать cp866. Я с этой траблой парился очень долго....... Недавно это решение пришло. Когда скомпилишь ядро и перезагрузишься, при маунте самбой фс, надо писать -o iocharset=твоя локальная кодировка, у меня например utf8.
______________________________________________________
Linux home 2.6.19-gentoo-r5 #3 SMP Thu Jun 14 21:28:55 KRAST 2007 i686 Intel(R) Pentium(R) 4 CPU 3.00GHz GenuineIntel GNU/Linux
Теперь и HTC TyTN :) Жалко на Windows Mobile 6.0 :(
Надо настроить
Надо настроить samba.conf на сервере и на клиенте.
Samba всегда смотрит в samba.conf, при всех своих телодвижениях.
По поводу кодировок:
/etc/samba/samba.conf
dos charset = 866 // это кодировка того что приходит из сети
display charset = utf8 // это кодировка на экране, исп. smbclient и другими тулзами при выводе на экран
unix charset = utf8 // кодировка локальной машины
smbmount пример
smbmount //192.168.1.1/Общие\ документы /All -o username=user%123,uid=user,gid=users,fmask=640,dmask=750,iocharset=utf8,codepage=cp866
/etc/fstab (соответственно)
//192.168.1.1/SharedDocs /All username=user%123,uid=user,gid=users,fmask=640,dmask=750,iocharset=utf8,codepage=cp866 0 0
По поваду пишет не пишет: покажи ls -l в примантированной шаре. Возможно ты не указал uid и gid при монтировании...
PS И вообще народ RTFM!!! и нехрена тут извращенные идеи высказывать... (особенно это косается MooSE)
PSS nls cp866 для ядра должна присутствовать, либо в ядре либо модулем.
...и в который
...и в который раз убеждаюсь, что все проблемы в линухе - от кривых рук...
cp866 в ядре была, только написана была просто как "866"... исправил - русские буквы появились тут же :)
и с доступом исправил всё, естественно папка принадлежала руту, а не пользователю...
блин, ну я и балбес...
Не убивайся,
Не убивайся, все через это проходят...
SWAT и доки рулят...