The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  вход/выход  слежка  RSS
"Samba 4 ads, ldap, krb, не работают права по группам"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Samba, вопросы интеграции Unix и Windows (Samba)
Изначальное сообщение [ Отслеживать ]

"Samba 4 ads, ldap, krb, не работают права по группам"  +/
Сообщение от iltmpz (ok) on 08-Дек-16, 13:10 
Приветствую!

Имеется следующая проблема: в сетевых шарах права на группу не работают.
Для примера, возьму шару scan:
# ls -la /data/scan/| grep test1


drwxrwx---   2 root          users     4096 дек  8 10:43 test1

Пытаюсь зайти из винды в эту шару: \\fileskladtest\scan\test1. Юзером, принадлежащим группе users:
Windows не может получить доступ к \\fileskladtest\scan\test1
Разрешение на доступ к \\fileskladtest\scan\test1 отсутствует.

То же самое через консоль:


C:\>net use \\fileskladtest\scan\test1 /user:tu3
Недействительный пароль для \\fileskladtest\scan\test1.

Введите пароль для 'tu3' для подключения к 'fileskladtest':
Системная ошибка 5.

Отказано в доступе.


Хотя пароль правильный. В просто \scan пускает
У юзера права на группу есть:

# id tu3
uid=100278(tu3) gid=100(users) группы=100(users),1018(*****),1010(*****)

Если сменить владельца test1 на tu3 или дать на test1 права 777, то каталог test1 пускает.

Моя конфигурация:
домен - spec, он же spec.local. Работает под управлением виндовых DC 2008 R2, домен 2008. UID-GID цепляются через SFU, настроенную на виндовых DC, как UNIX-атрибуты.
Проблемный сервер - centos 7. Член домена, не DC.


# uname -a
Linux fileskladtest.spec.local 3.10.0-327.18.2.el7.x86_64 #1 SMP Thu May 12 11:03:55 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
# smbd -V
Version 4.2.10

Авторизация в домене - kerberos, вроде с ней все ок.
getent passwd и getent group настроены по ldap и выдают список сначала локальных, а потом доменных юзеров и групп. Юзеры в группах перечислены, все UID-GID правильные.

Конфиги с моей конфигурацией:


# cat /etc/samba/smb.conf | grep -v '^#' | grep -v '^;' | grep -v '^$'
[global]
   workgroup = SPEC
   realm = SPEC.LOCAL
   security = ads
   template homedir = /home/%U
   template shell = /bin/bash
   kerberos method = secrets only
   winbind use default domain = true
   winbind offline logon = false
        idmap config * : backend  = ad
        idmap config * : range = 0-9999999
        idmap config * : schema_mode = sfu
        auth methods = winbind
        server string = Samba Server Version %v
        netbios name = FILESKLADTEST
        hosts allow = 127. 192.168.
        # log files split per-machine:
        log file = /var/log/samba/log.%m
        # maximum size of 50KB per log file, then rotate:
        max log size = 50000
        log level = 0 vfs:2
        syslog = 0

    vfs objects = full_audit
    full_audit:prefix = %u|%I|%S
    full_audit:facility = local5
    full_audit:priority = notice
    full_audit:success = none
    full_audit:failure = none
        load printers = no
        # obtain a list of printers automatically on UNIX System V systems:
        disable spoolss = Yes
        show add printer wizard = No
        read only = No
        create mask = 0666
        directory mask = 0777
        map to guest = Bad User
        logon path = \\%L\profiles\.msprofile
        logon home = \\%L\%U\.9xprofile
        logon drive = P:
        usershare allow guests = No
[scan]
    comment = Сканированные документы
    path = /data/scan
    full_audit:success = all
    full_audit:failure = all

# cat /etc/nslcd.conf | grep -v '^#' | grep -v '^;' | grep -v '^$'
uid nslcd
gid ldap
uri ldap://dc5.spec.local
uri ldap://dc1.spec.local
uri ldap://dc2.spec.local
uri ldap://dc4.spec.local
ldap_version 3
base dc=spec,dc=local
binddn CN=unix,OU=Scripts,DC=SPEC,DC=LOCAL
bindpw ***paSsWoRd***
scope sub
filter passwd (objectClass=User)
map    passwd uid              msSFU30Name
map    passwd homeDirectory    unixHomeDirectory
filter shadow (objectClass=User)
filter group  (objectClass=Group)
ssl no
tls_cacertdir /etc/openldap/cacerts

# cat /etc/krb5.conf | grep -v '^#' | grep -v '^;' | grep -v '^$'
[logging]
default = FILE:/var/log/krb5libs.log
kdc = FILE:/var/log/krb5kdc.log
admin_server = FILE:/var/log/kadmind.log
[libdefaults]
dns_lookup_realm = false
ticket_lifetime = 24h
renew_lifetime = 7d
forwardable = true
rdns = false
default_ccache_name = KEYRING:persistent:%{uid}
default_realm = SPEC.LOCAL
clockskew = 3600
[realms]
SPEC.LOCAL = {
  kdc = dc5.spec.local
  kdc = dc1.spec.local
  kdc = dc2.spec.local
  kdc = dc4.spec.local
  admin_server = dc5.spec.local
}
DC5.SPEC.LOCAL = {
  kdc = dc5.spec.local
  admin_server = dc5.spec.local
}
SPEC.LOCAL = {
  kdc = spec.local
  admin_server = spec.local
  kdc = spec.local
}
[domain_realm]
spec.local = spec.local
.spec.local = spec.local
dc1.spec.local = DC1.SPEC.LOCAL
.dc1.spec.local = DC1.SPEC.LOCAL
dc5.spec.local = DC5.SPEC.LOCAL
.dc5.spec.local = DC5.SPEC.LOCAL

# cat /etc/nsswitch.conf | grep -v '^#' | grep -v '^;' | grep -v '^$'
passwd:     files ldap
shadow:     files
group:      files ldap
hosts:      files dns
bootparams: nisplus [NOTFOUND=return] files
ethers:     files
netmasks:   files
networks:   files
protocols:  files
rpc:        files
services:   files sss
netgroup:   files sss ldap
publickey:  nisplus
automount:  files ldap
aliases:    files nisplus

testparm -s /etc/samba/smb.conf ошибок не выдает.

Вроде, все должно быть ок, единственный нюанс, который не удалось победить:
wbinfo -u показывает пустой вывод.
Впрочем, wbinfo -g показывает список всех групп.
Не знаю, имеет ли это какое-то отношение к проблеме.

Логи включал, там по проблеме ни слова. Только то, что мол, все права есть, все ок.
Уже кучу времени убил на проблему, все кажется перепроверил, сейчас даже не понимаю, куда копать.
В гугле - либо неверный вывод getent, либо авторизация кривая, либо еще что. У меня-то вроде все на месте.
Кроме этого сервера, есть еще несколько древних с gentoo и samba 3, на них группы работают. Но там вроде перекомпилировали модуль бекэнда для idmap или что-то вроде того, уже не помнит никто, что и зачем, да и проблема относилась вроде к баге с той древней самбой...

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Samba 4 ads, ldap, krb, не работают права по группам"  +/
Сообщение от iltmpz (ok) on 12-Дек-16, 12:53 
Есть подозрение, что что-то недокрутил с маппингом SFU, но понятия не имею, что докручивать.
Хотя getent passwd и getent group показывают правильные uid и gid.

Но в старой успешно работающей самбе конфиг такой:


pam_login_attribute sAMAccountName
pam_lookup_policy       yes
pam_password ad
pam_password    crypt
nss_initgroups_ignoreusers      root,ldap
nss_schema      rfc2307bis
nss_map_attribute       uniqueMember member
nss_map_objectclass posixAccount User
nss_map_objectclass shadowAccount User
nss_map_attribute uid msSFU30Name
nss_map_attribute uniqueMember msSFU30PosixMember
nss_map_attribute userPassword unixUserPassword
nss_map_attribute homeDirectory unixHomeDirectory
nss_map_objectclass posixGroup Group
pam_login_attribute msSFU30Name
pam_filter objectclass=User
pam_password ad
nss_map_attribute uidNumber uidNumber
nss_map_attribute gidNumber gidNumber
nss_map_attribute cn sAMAccountName
nss_map_attribute gecos name
nss_map_attribute loginShell loginShell
ssl off

Я попробовал добавить на проблемный сервер:


map    group  gidNumber        gidNumber
или
map    group  gidNumber        gid

- ничего не изменилось, как не работало, так и не работает авторизация по группам. Куда еще смотреть?
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру