--}}
Новая тема
Вы не можете создавать новые темы.
Т.к. вы неавторизованы на сайте. Пожалуйста назовите себя или зарегистрируйтесь.
Список тем

CentOS-5.2 и samba

4
21
С друзьями на NN.RU
В социальных сетях
Поделиться
Invincible
23.10.2008
Поставил. Настроил. Поднял.
В сети видится, а пускать не хочет :(
в /etc/nsswitch.conf:
passwd: files winbind
shadow: files winbind
group: files winbind
В /etc/samba/smb.conf:
[global]
security = domain
workgroup = mydomain
encrypt passwords = yes
password server = *
netbios name = centos
dos charset = cp866
unix charset = utf-8
display charset = utf-8
server string = Сервер баз данных
auth methods = winbind
guest ok = yes

log file = /var/log/samba/log.%m
max log size = 50
os level = 17
dns proxy = No
announce as = NT Server
announce version = 5.2
domain master = no
preferred master = no
local master = no
domain logons = no
idmap uid = 10000-20000
idmap gid = 10000-20000
template homedir = /usr/home/skkz/%U
template shell = /bin/sh
winbind enum users = yes
winbind enum groups = yes
winbind separator = \
winbind use default domain = yes
nt acl support = yes
client use spnego = yes
client signing = yes
wins support = no

[IPC$]
path = /tmp/ipc
hosts allow = 10.252.195.0/24 127.0.0.1

[printers]
comment = All Printers
path = /var/spool/samba
printable = Yes
browseable = No

[public]
comment = Общая папка
path = /home/samba
read only = No
inherit acls = No
guest ok = Yes
map acl inherit = No
Никто не подскажет, куда копать?
a126
23.10.2008
А на шару пускать всех вообще или только после аутенфикации winbind на контроллере домена?

Если всех, security = share. И всякие упоминания winbind выкинуть.
Ну и на шару написать что-нить типа:

public = yes
writable = yes
Только после аутентификации. И не всех.
Но сейчас доступа нет ни к шаре, ни к чему вообще.
При попытке открыть сервер из Сетевого окружения думает и выдаёт:
"Сервер centos в сети не найден".

Самба работает. wbinfo и getent инфу выдают...
AlexKB
23.10.2008
Попробуй selinux снести. И правила iptables проверь.
Прошу прощения, что и как сделать?
Я не линуксоид, я bsd-шник...

[root@db admin]# rpm -qa | grep selinux
libselinux-1.33.4-5.el5
selinux-policy-2.4.6-137.el5
libselinux-python-1.33.4-5.el5
selinux-policy-targeted-2.4.6-137.el5

Что-то из этого?
Забыл сказать:
/etc/pam.d/login:
---------------------------
#%PAM-1.0
auth required pam_securetty.so
auth sufficient pam_winbind.so
auth sufficient pam_unix.so use_first_pass
auth required pam_stack.so service=system-auth
auth required pam_nologin.so
account sufficient pam_winbind.so
account required pam_stack.so service=system-auth
password required pam_stack.so service=system-auth
session required pam_stack.so service=system-auth
session optional pam_console.so
Кстати, насчёт iptables - какие порты проверять, если в сетевом окружении он видится, а iptables я не трогал?
Разве там не всё открыто по умолчанию?
AlexKB
23.10.2008
Можно посмотреть командой netstat -ltnpu порты, открытые процессами nmbd и smbd.
Но я бы на вреемя вообще отключил iptables. Плюс удалил из системы selinux командой yum erase.
Если и тогда не заработает - тогда проблема не в этом.
Отключен.
И не на время, а насовсем.
Это не шлюз, эта файлопомойка находится в локальной сети. Извне на неё ничего не придёт.
a126
23.10.2008
gw6# cat ./nsswitch.conf
group: files winbind
group_compat: nis
hosts: files dns
networks: files
passwd: files winbind
passwd_compat: nis
shells: files


smb.conf


workgroup = XXX
netbios name = proxy1
server string = ProxyServer
hosts allow = XXX
winbind separator = +
#winbind use default domain = yes
winbind uid = 10000-20000
winbind gid = 10000-20000
winbind enum users = yes
winbind enum groups = yes
template homedir = /home/winnt/%D/%U
template shell = /bin/bash
max log size = 50
dos charset = CP866
unix charset = KOI8-R
security = domain
#security = ads
password server = Твой контроллер домена
encrypt passwords = yes

У меня с этими настройками работает. FreeBSD 6.2.
У меня с этими настройками тоже работает. FreeBSD-7.0
Как контроллер домена, так и рабочие станции.
Но мне надо - Linux
Mihalych
23.10.2008
А что показывает #net getlocalsid ? Он совпадает с SID домена?
Также надо посмотреть вывод #net groupmap list на предмет приблизительно такого:
Domain Admins (<твой доменный SID.........>-512) -> root
Domain Guests (<твой доменный SID.........>-514) -> nobody
Domain Users (<твой доменный SID.........>-513) -> users
если нет, то надо назначить соответствие доменных груп локальным с помощью
#net groupmap add {rid=<int>|sid=<string>} unixgroup=<string> [type=domain|local|builtin>] [ntgroup=<string>] [comment=<string>]

[global]
password server = твой контроллер, а не "*"

auth methods = winbind
template homedir = /usr/home/skkz/%U
template shell = /bin/sh
nt acl support = yes
client use spnego = yes
client signing = yes
(я бы убрал)

winbind separator = \
winbind use default domain = yes

посмотри ка как тебе wbinfo -u выдает?
Дело в том, что если используешь по дефолту имя домена, то разделитель "\" (или любой другой) тебе не нужен ибо разделять нечего.
Спасибо.
Во первых: почему-то не совпадает. Как поправить?
Во вторых: net groupmap list не показывает доменные группы
В третьих: password server = *
так как он сам ищет контроллер. В принципе можно прописать жёстко.

В четвёртых: ну

nt acl support = yes
client use spnego = yes
client signing = yes

можно убрать. А откуда тогда он будет брать пользователей?
* не понял *
... что тогда в auth methods поставить?
auth methods = guest sam
так?
Mihalych
23.10.2008
Invincible писал(а)
Во первых: почему-то не совпадает. Как поправить?

Попробую по пунктам
1) Сохраняем срарый (оригинальный SID в файл)
#net getlocalsid > /root/local-sid.orig
2) Выясняем SID твоего домена (например имя дмена - lan)
#net getlocalsid lan
3) Прописываем докальный SID доменным, полученный в п.2
#net setlocalsid <SID-....>

Во вторых: net groupmap list не показывает доменные группы

3) Создаем локальные группы (если они не созданы)
4) Ремапим группы домена на локальные
Для Domain Admins:
#net groupmap add sid=SID-домена-512 unixgroup=root type=domain
(вот тут я не помню, на до ли указывать дополнительно ntgroup="Domain Admins"? Можно поэкспериментировать и периодически проверять что получилось через net groupmap list)
Для Domain Users все тоже самое только в SID-... последние "512" меняем на 513. Аналогично Domain Guests - на 514.

В третьих: password server = *
так как он сам ищет контроллер. В принципе можно прописать жёстко.

нечего ему время зря терять на поиски, я бы вообще IP прописал.

А откуда тогда он будет брать пользователей?

Вытравливать пользователей и группы будет winbind, потому как прописано в /etc/nsswitch.conf
Ой, блин, не там ответил.
1. А почему, собственно говоря, надо ассоциировать группы unix и nt?
Я раньше делал это только на контроллере домена.
2. А можно настроить, чтобы пользователи и группы брались не через winbind, а напрямую из ldap? А то у них uid и gid не соответствуют доменным... :(
Подозреваю, это из-за параметров:
winbind enum users = yes
winbind enum groups = yes
Я пробовал заставить работать nss через ldap - какие-то странные подвисания появились :(
Хотя ldapsearch -x пашет нормально...
Mihalych
24.10.2008
Invincible писал(а)
1. А почему, собственно говоря, надо ассоциировать группы unix и nt?
Я раньше делал это только на контроллере домена.

Если бы было security=share, то разделение ресурсов происходило бы на уровне пользователей с запросом логин\пароль и ремапить не надо, просто заводим пользователей самбы и все. В случае security=domain реализуется механизм запроса о пользователях и группах с контроллера домена. Т.к. указано domain logons = no, то машина domain member, но при этом ей все равно надо знать кто есть кто хотя бы для того, чтобы разрешить чтение\запись в директорию самбы ибо dig uid доменный она получит, но на самой машине таких нет - соответственно самба даст отлуп.

Mapping.
Каждая операция в UNIX'е требует идентификатора пользователя (UID), каждая операция в Windows требует идентификатора безопасности (SID). Самба предоставляет 2 значения установления связи между UID и SID.
Samba может записывать информацию о присвоение SID пользователю в бэкэнд или же использовать параметры idmap uid и idmap gid в конфигурационном файле smb.conf.

взято с volgograd.lug.ru/wiki/AvramenkoAndrew/samba3howto

2. А можно настроить, чтобы пользователи и группы брались не через winbind, а напрямую из ldap?

Можно. :) но ковырять глыбже и ширше надо будет. Тут не все так тривиально. В принципе, как пишут в официальном HOWTO, ldap нартавливать имеет смысл при наличии большого кол-ва записей, более 10000 вроде как. Оно тебе надо?

А то у них uid и gid не соответствуют доменным... :(
Подозреваю, это из-за параметров:
winbind enum users = yes
winbind enum groups = yes

Скорее всего надо нужные
idmap uid = 10000-20000
idmap gid = 10000-20000
1. Вот и я о том же.
Разделение ресурсов происходит на уровне пользователей.
Доменных... А домен тоже поднят на samba. Бэкенд - LDAP.

Вот и интересует, как этот механизм реализовать.
2. "Можно. :) но ковырять глыбже и ширше надо будет. Тут не все так тривиально. В принципе, как пишут в официальном HOWTO, ldap нартавливать имеет смысл при наличии большого кол-ва записей, более 10000 вроде как. Оно тебе надо?"
Надо. В LDAP много чего интересного хранить планируется...
Mihalych
24.10.2008
Invincible писал(а)
... А домен тоже поднят на samba. Бэкенд - LDAP.

Так самое оно тебе на этой машине Backup Domain Controller делать! :) не повредит имхо.
Тогда тебе прямая дорога
us1.samba.org/samba/docs/man/Samba-Guide/happy.html#sbehap-bldg1
там как раз пошагово написано как делать.
и, кстати сказать, многое что было сделано раньше не понадобиться или потребуется переделывать.
Да знаю я... Мне не надо BDC.
Мне надо просто рабочую станцию. Обычную файлопомойку.
Поднимал же я рабочие станции под FreeBSD... И там не надо было маппинг делать.
Поставим вопрос иначе:
pam_ldap
nss_ldap
pam_winbind
Чем настройка этих модулей в Linux отличается от настройки в FreBSD? Почему ldapsearch -x работает без задержек, а getent passwd (через nss) сразу же даёт взвис?
Есть вариант, что -x указывать не надо... Надо LDAP без ssl.
Его перекомпилировать или достаточно какую-то опцию в ldap.conf указать?
Mihalych
24.10.2008
Invincible писал(а)
Поставим вопрос иначе:
pam_ldap
...

А у тебя есть необходимость держать unix-аккаунты в LDAP?

ОФФ Samba-Guide
PAM and NSS Client Configuration.
The steps that follow involve configuration of LDAP, NSS LDAP-based resolution of users and groups. Also, so that LDAP-based accounts can log onto the system...
Since you have chosen to put UNIX user and group accounts into the LDAP database, it is likely that you may want to use them for UNIX system (Linux) local machine logons.

2) Как мне видится, надо настроить только ldap-client и правильно прописать конфиг самбы с указанием в какой ldap смотреть. (по ссылке выше, есть пример).
То есть в smb.conf должно быть что то следующее:
passdb backend = ldapsam:ldap://твой PDC
ldap suffix = dc=....,dc=...
ldap user suffix = ou=Users
ldap group suffix = ou=Groups
ldap machine suffix = ou=Computers
ldap filter = (uid=%u)
ldap admin dn = "cn=root,dc=...,dc=..."
ldap delete dn = no
ldap ssl = start tls
Спасибо.
sid на доменный сменил, завтра займусь net groupmap list
Новая тема
Вы не можете создавать новые темы.
Т.к. вы неавторизованы на сайте. Пожалуйста назовите себя или зарегистрируйтесь.
Список тем
Последние темы форумов
Форум Тема (Автор) Последний ответ Ответов
Оперативная память Corsair XMS3 CMX8GX3M2A1600C9

Оперативная память Corsair XMS3 CMX8GX3M2A1600C9 Отправка в регионы после оплаты. Продаются сразу обе. Цена за обе 2000 руб....
Цена: 1 000 руб.

Материнские платы на запчасти и не только

Материнские платы на запчасти и не только Материнские платы и другие комплектующие Отправка в регионы после оплаты. Транспортной...
Цена: 3 000 руб.

Сетевой фильтр APC Surge Arrest

Сетевой фильтр APC Surge Arrest для радиолюбителя.и не только Отправка в регионы после оплаты. ЦЕНА 3000 руб. В рабочем состоянии....
Цена: 3 000 руб.

Принтер лазерный HEWLETT PACKARD HP-6L

Принтер лазерный HEWLETT PACKARD HP-6L Отправка в регионы после оплаты. 3штуки БУ. Внешний вид из магазина простояли на складе...
Цена: 4 500 руб.