Samba, запись в общие папки win2003

openSUSE, SUSE Linux Enterprise

Модератор: Модераторы разделов

Dorgi
Сообщения: 8

Samba, запись в общие папки win2003

Сообщение Dorgi »

Здравствуйте. Ответ в сети искал, но безуспешно. Есть домен на win2003, поставил на клиента openSUSE 11.3. Настроил samba, kerberos etc. Ввел клиента в домен, все ок. Заходить в openSUSE под доменными учетками могу, даже попадаю на общие ресурси на индовом сервере, могу оттуда копировать файлы но записать не могу. То есть, когда копирую файл в общую папку на win2003 то выскакивает ошибка «недопустимый параметр». Но прикол в том, что если копирую в общую папку файл размером <= 48КБ то все нормально.
Может кто то с таким сталкивался. Помогите пожалуйста.
P.S. Самое интересное, что в общие папки на windows XP копирует, а в общие папки на windows 2003 server — не хочет.
Спасибо сказали:
Dorgi
Сообщения: 8

Re: Samba, запись в общие папки win2003

Сообщение Dorgi »

Я в линуксе новичок. Поэтому не все понимаю. Если монтировать шары виндовса через «mount -t cifs» то все гуд, могу и копировать и вставлять файлы. Вот когда я просто захожу под доменной учеткой в openSUSE то запущен только winbind, а smb и nmb не запущены (> /etc/rc.d/smb status UNUSED). Но при этом я могу подключатся к шарам виндовса просто используя nautilus, как раз в этой ситуации и возникает проблема с копированием файлов в общую папку на виндовс машину.
Спасибо сказали:
BIgAndy
Сообщения: 1923

Re: Samba, запись в общие папки win2003

Сообщение BIgAndy »

Dorgi писал(а):
03.11.2010 11:14
Но при этом я могу подключатся к шарам виндовса просто используя nautilus, как раз в этой ситуации и возникает проблема с копированием файлов в общую папку на виндовс машину.

Пинайте мейнтейнеров gvfs.
А лучше используйте smb4k или полноценный mount+autofs
Спасибо сказали:
Dorgi
Сообщения: 8

Re: Samba, запись в общие папки win2003

Сообщение Dorgi »

mount+autofs - не прокатит, так как при смене пароля пользователя домена, нужно буде еще поменять пароль и в auto.smb. Как временный вариант это конечно выход.
Smb4k - тоже не подходит из за Gnome. Так что пока попробую поиграться с gvfs.
Спасибо сказали:
UTiM
Сообщения: 180
ОС: OpenSuse

Re: Samba, запись в общие папки win2003

Сообщение UTiM »

Монтируйте шару/шары сразу при авторизации пользователя - с помощью pam_mount.
Спасибо сказали:
Dorgi
Сообщения: 8

Re: Samba, запись в общие папки win2003

Сообщение Dorgi »

UTiM: пробивал монтировать через pam_mount. Делал как тут http://open-suse.ru/modules/smartsection/item.php?itemid=100. Без успешно. В /var/log/messages после входа никаких ошибок не пишет. Шара не монтируется.
Может у кого то есть рабочие конфиги для openSUSE 11.3 (то есть файлы из /etc/pam.d/ которые надо изменить).

/var/log/messages - мне хоть сюда нужно смотреть? или pam_mount еще где-то пишется в логах?
Спасибо сказали:
UTiM
Сообщения: 180
ОС: OpenSuse

Re: Samba, запись в общие папки win2003

Сообщение UTiM »

Ставим pam_mount (zypper, yast -как удобно...)
Правим конфиги....
Пример для OpenSuse11.3
/etc/pam.d/common-auth

Код: Выделить всё

auth    required    pam_env.so
auth    required    pam_group.so
auth    optional    pam_gnome_keyring.so
auth  required    pam_mount.so
auth    required    pam_unix2.so    use_first_pass


Если у вас winbind или LDAP автоизация - помещаем эту строку в конец с постфиксом "use_first_pass"

/etc/pam.d/common-session

Код: Выделить всё

session  optional    pam_mkhomedir.so
session    required    pam_limits.so
session    required    pam_unix2.so
session    optional    pam_apparmor.so
session    optional    pam_umask.so
session    optional    pam_gnome_keyring.so    auto_start only_if=gdm,lxdm
session [default=ignore success=1] pam_succeed_if.so uid < 1000 guiet
session optional        pam_mount.so

Вторая строка с низу вырубает pam_mount для локальных пользователей и root. Если у вас поднят winbind/ldap - не забываем вставить строки...

/etc/security/pam_mount.conf.xml

Код: Выделить всё

 <?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE pam_mount SYSTEM "pam_mount.conf.xml.dtd">

<pam_mount>

<debug enable="0" />

<mntoptions allow="nosuid,nodev,loop,encryption,fsck,nonempty,allow_root,allow_other" />
<mntoptions require="nosuid,nodev" />
<path>/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin</path>
<logout wait="2000" hup="0" term="1" kill="1" />

<mkmountpoint enable="1" remove="true" />

<cifsmount>mount -t cifs //%(SERVER)/%(VOLUME) %(MNTPT) -o "user=DOMAIN_NAME\\%(USER),uid=%(USERUID),gid=%(USERGID),%(before=\",\" OPTIONS)"</cifsmount>

<umount>umount %(MNTPT)</umount>

<volume user="*" fstype="cifs" server="file_server_name" path="User" mountpoint="/mnt/%(USER)/LanDISK" options="nolock"/>

</pam_mount>

Адреса серверов и папок -ставим свои.
Нужна отладка - меняем debug enable="1" - логинимся в текстовой консоли - смотрим "ругань"
Спасибо сказали:
Dorgi
Сообщения: 8

Re: Samba, запись в общие папки win2003

Сообщение Dorgi »

UTiM, спасибо вам конечно за ответ. На других 2-х форумах ни одного ответа. Но есть одно но: после проделанных рекомендаций я вообще не могу зайти в систему, ни под каким пользователем. Мои конфиги:
/etc/pam.d/common-auth

Код: Выделить всё

auth required pam_env.so
auth required pam_group.so
auth optional pam_gnome_keyring.so
auth required pam_mount.so
auth required pam_unix2.so use_first_pass
auth required winbind.so use_first_pass

/etc/pam.d/common-session

Код: Выделить всё

session optional pam_mkhomedir.so
session required pam_limits.so
session required pam_unix2.so
session optional pam_apparmor.so
session optional pam_umask.so
session optional pam_gnome_keyring.so auto_start only_if=gdm,lxdm
session [default=ignore success=1] pam_succeed_if.so uid < 1000 guiet
session optional pam_mount.so
session optional winbind.so

Или я неправильно понял вашу строку «Если у вас winbind или LDAP автоизация - помещаем эту строку в конец с постфиксом "use_first_pass"». То есть, какую именно строку помещать, «session optional winbind use_first_pass» или «auth required pam_unix2.so use_first_pass»? Также не совсем ясно куда вставлять в common-session, тоже в конец?
P.S. когда логинюсть в консоле (init 3), то просто пишет "Имя пользователя неверно".
Спасибо сказали:
Dorgi
Сообщения: 8

Re: Samba, запись в общие папки win2003

Сообщение Dorgi »

Скачал ResqueCD. Методом "тыкания" установил что если записать /etc/pam.d/common-auth вот так:

Код: Выделить всё

auth required pam_env.so
auth required pam_group.so
auth optional pam_gnome_keyring.so
auth required pam_mount.so
auth sufficient pam_unix2.so
auth required winbind.so use_first_pass

то все гуд и могу логинится.
Спасибо сказали:
UTiM
Сообщения: 180
ОС: OpenSuse

Re: Samba, запись в общие папки win2003

Сообщение UTiM »

Dorgi писал(а):
10.11.2010 21:42
Скачал ResqueCD. Методом "тыкания" установил что если записать /etc/pam.d/common-auth вот так:

Код: Выделить всё

auth required pam_env.so
auth required pam_group.so
auth optional pam_gnome_keyring.so
auth required pam_mount.so
auth sufficient pam_unix2.so
auth required winbind.so use_first_pass

то все гуд и могу логинится.

Да, все верно, должно быть "auth sufficient pam_unix2.so" см. флаги pam - если строка не последняя - данный модуль отвечает за авторизацию локальных и NIS пользователей , единственно - без "use_first_pass" - локальная авторизация после pam_mount.so раньше переставала работать - проверьте это! (может уже починили - попробуйте войти под локальным юзером...) Вообще - если локальным/NIS юзерам цеплять сетевые шары ненужно - можно попробовать поместить "auth sufficient pam_unix2.so" до "auth required pam_mount.so" (если у последующих модулей трудности с восприятием пароля - добавляем им "use_first_pass")
В /etc/pam.d/common-session по уму "session optional winbind.so" должно быть до "session [default=ignore success=1] pam_succeed_if.so uid < 1000 guiet" - хотя и так работать будет - если юзер локальный - то без winbinda может обойтись...
Спасибо сказали:
Dorgi
Сообщения: 8

Re: Samba, запись в общие папки win2003

Сообщение Dorgi »

Теперь /etc/pam.d/common-auth такой:

Код: Выделить всё

auth    required    pam_env.so
auth    required    pam_group.so
auth    optional    pam_gnome_keyring.so
auth    required    pam_mount.so
auth    sufficient    pam_unix2.so
auth    sufficient    pam_krb5.so
auth    required    pam_winbind.so    use_first_pass

строка «auth sufficient pam_krb5.so» добавилась автоматически, когда я в «YAST->Клиент Kerberos» переключил на «Использовать Kerberos». Эта же строка появилась и в /etc/pam.d/common-session:

Код: Выделить всё

session  optional    pam_mkhomedir.so
session    required    pam_limits.so
session    required    pam_unix2.so
session    optional    pam_apparmor.so
session    optional    pam_krb5.so
session    optional    pam_umask.so
session    optional    pam_gnome_keyring.so    auto_start only_if=gdm,lxdm
session [default=ignore success=1] pam_succeed_if.so uid < 1000 guiet
session optional    pam_mount.so
session    optional    pam_winbind.so

При этом нужные шары монтируются (правда я пока пробивал только шары с доступом для всех). Единственное что непонятно, так это то, что если отключить использование Kerberos (соответственно строки «auth sufficient pam_krb5.so» YAST удалит), то авторизация в домене и монтирование шар все равно происходит. Это так и должно быть?
P.S. Также пробивал в /etc/pam.d/common-auth в строке «auth required pam_winbind.so use_first_pass» убрать use_first_pass. Результат: 1) локальный пользователь логинится нормально 2) доменный пользователь должен ввести пароль 2 РАЗА чтобы зайти в систему, при этом шары монтируются.
Спасибо сказали:
Dorgi
Сообщения: 8

Re: Samba, запись в общие папки win2003

Сообщение Dorgi »

Подскажите пожалуйста какие то ссылки на ресурсы по модулям PAM, а то толком что то найти не удалось. Только набор конфигов без объяснения что, куда и зачем. Также не ясно где официальный сайт этой полезной «приблуды» :). Или я просто плохо гуглил, хотя не факт.
Еще раз: ОГРОМНЕЙШЕЕ спасибо to UTiM. Он помог положить:
- конец моим 3-ох недельным танцам с «бубном незнания» :)
- начало внедрения linux в конторе где я работаю )))
P.S. Создаю новую тему по gdm.
Спасибо сказали:
UTiM
Сообщения: 180
ОС: OpenSuse

Re: Samba, запись в общие папки win2003

Сообщение UTiM »

На счет "session optional pam_krb5.so " - он ненужен!
Дело в том, что при использовании samba/winbind kerberos-клиент должен быть настроен (поля - имя домена, сервера и проч. - заполнены правильно - большими буквами) но сама авторизация - отключена. Правильная настройка клиента позволяет при однократном заходе на сетевую шару получить на определенное время "тикет" (билет kerberos) и на другие шары - на которые у вас есть права, заходит без повторного ввода пароля. Это все актуально только при заходе на шары через "обзор сети".
Прелесть pam_mount именно в том, что при монтировании шар он использует введенные логин/пароль конкретного пользователя - то есть шара подмонтируется именно от имени того, кто вошел в систему. Там есть еще одна "фишка" - можно смонтировать не всю шару, а конкретную подпапку внутри шары, нужную именно этому пользователю...
Спасибо сказали: