LINUX.ORG.RU
ФорумAdmin

Крайне срочный вопрос по samba-е 2.2.2 под FreeBSD 4.4


0

0

Одним словом сегодня был мозговой штурм, времени всего лишь под завтрашнего обеда осталось, наступит "точка возможного возврата" так сказать.

Значение security = share, при этом в конце smb.conf прописаны расшариваемые папки на сервере с самбой, каждая со своими настройками безопасности и доступа, как видно из нижеследующего.

Итак, вот вопросы, которые необходимо разрешить:

1. Получается разграничивать доступ по IP адресам, с которых разрешен доступ к некой расшаренной папке, указывая в значении hosts allow необходимой папки соответствующий IP или несколько адресов, с которых доступ к этой папке разрешен, а как можно задать ДИАПАЗОН IP адресов, например, с 10.0.0.1 по 10.0.0.15, какой синтаксис написания в этом случае?

2. Как сделать доступ к некой папке используя авторизацию, например, хочу чтобы к каталогу doc_otd имел доступ только пользователь с именем smbuser, прописываю в свойствах этой паки значение valid users = smbuser, после при обращении к такой папке по сети с клиентской машины из под Win'98 выводится окно с предложением ввести пароль, но пароль не принимается никакой, из под W2K сразу ругается "\\Alex\doc_otd is not accessible. The specified network
password is not correct", в обоих случаях на консоль сервера выбрасывает сообщение от демона smb "smbd/password.c:authorise_login(906)" "authorise_login: rejected invalid user nobody".

Если удастся разрешить эти два вышеозначенных вопроса, дело можно считать выигранным.


[access]
comment = ACCESS
path = /usr2/basefile/access
read only = no
writable = yes
public = yes

[mb_300]
comment = MB_300
path = /usr2/basefile/mb_300
read only = no
writable = yes
public = yes
hosts allow = 10.0.0.1

[mb_400]
comment = MB_400
path = /usr2/basefile/mb_400
read only = no
writable = yes
public = yes

[doc_otd]
comment = DOC_OTD
path = /usr2/basefile/doc_otd
valid users = smbuser
read only = no
writable = yes
public = yes

[Distr]
comment = DISTR
path = /usr2/distr
read only = no
writable = no
public = yes


Забыл уточнить на предмет пользователя, который должен иметь доступ к расшареному каталогу doc_otd, его учетная запись имеется в /etc/passwd, после чего он был добавлен и включен через утилиту smbpasswd.

mrrc
() автор топика

Разграничение доступа, по всей видимости, придется задавать парами "сеть"/"маска". Можно так же воспользоваться ключевым словом EXCEPT (man smb.conf /hosts allow). Что касается доступа пользователей к ресурсам, то недурно поправить файл .../etc/samba/smbusers, именно в нем задается samba_user/unix_user маппинг.

novocel
()

Ну, с разграничением доступа путем использования значений host allow|deny в зашареваемой папке с применением EXCEPT вроде бы разобрался.

А вот что касается доступа к расшаренному ресурсу с помощью имени пользователя с выводом у клиента окна запроса пароля к ресурсу пока ничего так с места не сдвинулось.

Приведенный тобою файл .../etc/samba/smbusers не существует нигде, вообще все хозяйство установлено в /usr/local/samba, полазил по man smb.conf, по его секции "COMPLETE LIST OF SERVICE PARAMETERS", там довольно много вариаций всяческих, многое опробовал, но желанного по данному вопросу пока не получил. Разъясни, плиз, что нужно сделать, для получения того, что необходимо.

mrrc
() автор топика

Вот что еще возникло.

И вот еще что, обнаружили, что с русскими именами файлом на сервере
самбы при обращении из под Win'98 сворятся глюки, то файл при клике
"не видит", то зайти в русскоязычную папку нет возможности. Из W2K все
путем работает.

Добавил в раздел [global] два значения:

client code page = 866
character set = 1251

После этого все нормализовалось везде!
Но позже было замечено, что при аплоуде папки через ftp доступ (такой
способ я тоже заложил, чтобы обновлять содержимое папки, доступной
через самбу только для чтения) русские имена файлов и каталогов после
из самбы зайдя клиентом из под Win'98 нечитабельны, то есть ftp в
какой-то своей кодировке что ли передает русские имена файлов, которые
после в самбе нечитабельны?

Чую, что с кодовыми страницами не совсем верно настроено что-то?

mrrc
() автор топика

smb.conf username map = [видимо /usr/local]/etc/samba/smbusers

smbuseers # Unix_name = SMB_name1 SMB_name2 ...
root = administrator admin
nobody = pcguest smbguest
ficus = kaktus

novocel
()

В предыдущем сообщении небольшая опечатка, но, думаю, разберешься.

Забыл написать по второому вопросу. Как раз по причине существования разных upload'ов и вообще каких-либо действий с каталогами самбы из под юниха, следует пользоваться не character set = 1251, а character set = KOI8-R. Думаю, что если не понятно сразу, то со временем точно разберешься - поверь.

novocel
()

Что-то я сегодня многословен. У меня есть превосходный трактат (*.pdf на полтора метра) по самбе (название в форуме привести не могу), если есть интерес - могу выслать. mailto:novocel@netscape.net

novocel
()

Приветствую!

По всей видимости, файл smbusers присущ только для линукса, во FreeBSD его нет, по крайней мере, я его не нашел в системе вообще нигде.

На счет значения в [global] character set = 1251 я конечно внутренне понимаю, что это явно неправильно, что нужно koi8-r указывать было, но было уже поздно, заработало, так и оставили. Хотя перед этим пробовал и с kot8-r, русские имена не читались вовсе, хотя возможно я этот koi8-r по глупости в значение client code page прописывал, врать не буду, не помню уже.

То есть выход какой видится для решения этой проблему с кодировкой русского текста?

Прописать таким образом?

client code page = 866
character set = KOI8-R

а там еще какие то ключи с регистром вроде имеются, их есть смысл прописывать где-то?

Письмо тебе написал.

mrrc
() автор топика

Со всем кроме русских имен файлов в самбе вроде бы понял.

ПОДВЕДЕМ ИТОГ ПО ПОДКЛЮЧЕНИЮ ЮЗЕРОМ, используя valid users = user_name.

В W2K, как я понял и проверил, проблем вроде нет, она умнее, запрашивает как имя, так и пароль к ресурсу. Единственное, винда пароль для будущих подключений не запоминает, нет соответствующей галочки.

Win'98 тупее, не позволяет самому пользователю передать имя юзера (при обращении к расшаренной папке самбы выводит только запрос пароля, без имени).
Если винда загрузилась без запроса имени и пароля у пользователя, она передает при обращении к папке самбы "пустой" логин, даже если пароль (юзера на сервере самбы) указывать правильно, либо передает логин, под которым пользователь зашел в систему в виндах, и если он отличный от
зарегистрированного на сервере самбы, то номер тоже не пройдет.

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


ПО РУССКИМ ИМЕНАМ ФАЙЛОВ В САМБЕ.

Проблема состоит в следующем.
При обновлении расшаренного ресурса на сервере самбы используя ftp-доступ русские имена закаченных файлов после уже из самбы становятся нечитабельны. Аналогично заброшенные через самбу файлы с русскими именами не читаются после зайдя по ftp. Вот такой вот трабл.
Удалось ли кому решить эту злополучною проблему с ftp и самбой, их можно подружить?
В качестве ftp-сервера выступает wu-ftpd 2.6.1, может есть умные ftp-клиенты, позволяющие указывать предварительно кодировку, в которой производить в последующем закачку?
Или в самом ftp-сервере что-то можно подправить для устранения этого недочета?

В секции [global] smb.conf прописано.

client code page = 866
character set = koi8-r

(Скажу, что сейчас на работе стоит в качестве этого
client code page = 866
character set = 1251
так из самбы нормально отображаются русские файлы и в W2K и в Win'98, но в логах ругается соответственно Nov 5 08:09:18 base smbd[8359]:
load_unicode_map: filename /usr/local/samba/lib/codepages/unicode_map.1251
does not
exist.)

mrrc
() автор топика

Что касается upload'а ч/з самбу (с опциями client code page = 866 character set = koi8-r) и последующего чтения по ftp, я проверил - все работает.
А вот для обратного случая, - сложнее. Но есть такой выход - завести отдельный партишн для самбы и монтировать его с соответствующими опциями.
/etc/fstab: /dev/your_dev /mnt/your_destination ufs rw,-Wkoi2dos,-Lru_RU.KOI8-R 1 2 (смотри man 5 fstab)
Сам не пробовал, но должно сработать.

novocel
()

Вроде бы решил эту проблему с помощью Far-а, он дает возможность указывать тип кодировки при подключении по ftp. Под W2K работает все нормально, под Win'98 пока еще не пробовал в связи с отсутствием последнего.

Также получил инфу, что Far умеет выводить при обращении к ресурсу под Win'98 не только запрос пароля, но и логин, что снимет все вопросы, если это окажется действительно так.

mrrc
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.