LINUX.ORG.RU

SAMBA шара с авторизацией через AD

 , ,


0

1

Здравствуйте.
Решил сделать файлопомойку на CentOS 7 с помощью samba v 4.6.2, к которой доменные пользователи имели бы доступ, и с гибкой установкой прав.
Делал по этим инструкциям:

Вроде бы в процессе работы никаких критических ошибок не было, добавил сервер в домен, настроил winbind, сделал шару. С виндового ПК подключился к CentOS с помощью Computer Management, выставил права на шару для Domain Users и Domain Admins, но при попытке изменить права безопасности на папке - пишет нет доступа. В саму шару я зайти могу, но создать что-то - нет.

Подскажите где я сделал ошибку?

smb.conf

[global]
       security = ADS
       workgroup = DOMAIN
       realm = DOMAIN.LOCAL

       log file = /var/log/samba/%m.log
       log level = 1

        # Template settings for login shell and home directory
        winbind nss info = template
        template shell = /sbin/nologin
        template homedir = /dev/null

       # Default ID mapping configuration for local BUILTIN accounts
       idmap config * : backend = tdb
       idmap config * : range = 3000-7999

        # idmap config for the DOMAIN domain
        # idmap config DOMAIN : unix_nss_info = no
        idmap config DOMAIN : backend = rid
        idmap config DOMAIN : range = 10000-999999

[share]
        path = /fileserv/
        read only = no
        guest ok = no
        inherit acls = yes

        #vfs objects = acl_xattr
        #map acl inherit = yes
        #store dos attributes = yes
krb5.conf
$ cat /etc/krb5.conf
# Configuration snippets may be placed in this directory as well
includedir /etc/krb5.conf.d/

[logging]
 default = FILE:/var/log/krb5libs.log
 kdc = FILE:/var/log/krb5kdc.log
 admin_server = FILE:/var/log/kadmind.log

[libdefaults]
[libdefaults]
 dns_lookup_realm = false
 dns_lookup_kdc = false
 ticket_lifetime = 24h
 renew_lifetime = 7d
 forwardable = true
 rdns = false
 default_realm = DOMAIN.LOCAL
 default_ccache_name = KEYRING:persistent:%{uid}

[realms]
 DOMAIN.LOCAL = {
  kdc = dc-1.domain.local
  kdc = dc-2.domain.local
  admin_server = dc-1.domain.local
  default_domain = domain.local
 }

[domain_realm]
 .domain.local = DOMAIN.LOCAL
 domain.local = DOMAIN.LOCAL
В nsswitch.conf менял только эти две строчки(как в инструкции)
passwd:     files winbind
group:      files winbind
# net rpc rights list privileges SeDiskOperatorPrivilege -U "DOMAIN\admin_account"
Enter DOMAIN\admin_account's password:
SeDiskOperatorPrivilege:
  DOMAIN\Domain Admins
  BUILTIN\Administrators

В саму шару я зайти могу, но создать что-то - нет.

В логах самбы что? Под каким пользователем входите?

Serge10 ★★★★★ ()
Ответ на: комментарий от Serge10

В логах самбы что? Под каким пользователем входите?

Вхожу под домен админом.
Пока что удалось разрешить домен админу запись в папку.
Пересоздал файл smb.conf с помощью authconfig-tui
Но выставить права на папку все так же не могу.

Сейчас smb.conf имеет такой вид:

[global]
#--authconfig--start-line--

# Generated by authconfig on 2017/10/09 16:02:43
# DO NOT EDIT THIS SECTION (delimited by --start-line--/--end-line--)
# Any modification may be deleted or altered by authconfig in future

   workgroup = DOMAIN
   password server = dc-1.domain local dc-2.domain local
   realm = DOMAIN.LOCAL
   security = ads
   idmap config * : range = 16777216-33554431
   template shell = /sbin/nologin
   kerberos method = secrets only
   winbind use default domain = false
   winbind offline logon = false

   log file = /var/log/samba/%m.log
   log level = 2

#--authconfig--end-line--
[share]
        path = /fileserv/
        read only = no
        guest ok = no
При попытке сменить права на папку в логе вот это:
[2017/10/09 18:25:59.343080,  2] ../source3/param/loadparm.c:2769(lp_do_section)
  Processing section "[share]"
[2017/10/09 18:25:59.366330,  2] ../source3/smbd/service.c:822(make_connection_snum)
  10.1.1.154 (ipv4:10.1.1.154:64480) connect to service share initially as user DOMAIN\domain_admin (uid=3000, gid=3004) (pid 11579)
[2017/10/09 18:26:04.122766,  2] ../source3/smbd/open.c:1315(open_file)
  DOMAIN\domain_admin opened file credit1.rpt read=No write=No (numopen=4)
[2017/10/09 18:26:04.124450,  2] ../source3/smbd/close.c:788(close_normal_file)
  DOMAIN\domain_admin closed file credit1.rpt (numopen=2) NT_STATUS_OK
[2017/10/09 18:26:04.125562,  2] ../source3/smbd/posix_acls.c:3004(set_canon_ace_list)
  set_canon_ace_list: sys_acl_set_file type file failed for file . (Operation not permitted).
[2017/10/09 18:26:20.742686,  2] ../source3/smbd/service.c:1098(close_cnum)
  10.1.1.154 (ipv4:10.1.1.154:64480) closed connection to service share

Mant1kor ()
Ответ на: комментарий от Serge10

Угу, очень похоже. Как права на директории выставлены?

Да опять же по инструкции. Пока только одна директория, которая и есть шарой. Внутри один файл.

# ls -la / | grep fileserv
drwxrws---+   1 root DOMAIN\domain admins   30 Oct  9 18:16 fileserv

# ls -la /fileserv/
total 16
drwxrws---+ 1 root           DOMAIN\domain admins    30 Oct  9 18:16 .
dr-xr-xr-x. 1 root           root                      172 Oct  9 16:43 ..
-rwxr--r--  1 DOMAIN\ad_admin DOMAIN\domain admins 13655 Sep 30 16:22 credit1.rpt

Mant1kor ()
Ответ на: комментарий от Mant1kor

Посмотрел внимательно логи - Вы создаете файл пользователем DOMAIN\ad_admin, как следует из вывода команды ls -la для каталога fileserv.

При этом правом на запись обладает только владелец файла, у членов группы domain admins такого права нет.

Далее, Вы пытаетесь пользователем DOMAIN\domain_admin (uid=3000, gid=3004) сменить права на файл. Вполне логично, что система не позволяет Вам это сделать.

Пробовали менять права, заходя под именем владельца файла (пользователь DOMAIN\ad_admin)?

Serge10 ★★★★★ ()
Ответ на: комментарий от Serge10

Не, не. Я все это делаю одним пользователем. Просто не очень удачно изменил последний раз имя администратора(шифруюсь).

Mant1kor ()
Ответ на: комментарий от Mant1kor

Просто не очень удачно изменил последний раз имя администратора(шифруюсь).

Совершенно напрасно - у Вас внутренний сервис, никто не знает Ваших реальных адресов. Так что лучше приводите логи без редактирования - и так-то непросто разобраться, а если еще намеренно информацию искажать...

Serge10 ★★★★★ ()

Чето я не уверен что ставить разрешения на шары через винду руководствуясь при этом маном для POSIX ACLs есть хорошая идея. Если соберетесь делать мало мальски fine-grained разрешения, то делать это через getfacl будет болью и унижением как по мне. Советвую пройтись по ману с win acls. Глядишь само заработает.

N-N ()
Ответ на: комментарий от N-N

Я все же сделал по своему. Заработало!
Короче сначала я немного запутался в вариантах предоставления доступа, но все же разобрался, и теперь у меня есть шара на CentOS 7 с гибкими настройками прав как на виндовом сервере. Установка прав с интерфейса винды.
Минимальный конфиг smb.conf

[global]
#--authconfig--start-line--

# Generated by authconfig on 2017/10/09 16:02:43
# DO NOT EDIT THIS SECTION (delimited by --start-line--/--end-line--)
# Any modification may be deleted or altered by authconfig in future

   workgroup = DOMAIN
   password server = dc-1.domain.local dc-2.domain.local
   realm = DOMAIN.LOCAL
   security = ads
   idmap config * : range = 16777216-33554431
   template shell = /sbin/nologin
   kerberos method = secrets only
   winbind use default domain = false
   winbind offline logon = false

   log file = /var/log/samba/%m.log
   log level = 1

#--authconfig--end-line--
[share]
        path = /fileserv/
        read only = no
        guest ok = no
        writable = yes
        vfs objects = acl_xattr
        map acl inherit = yes
        store dos attributes = yes

Это все работает на файловой системе btrfs.
Всем спасибо за помощь.

Mant1kor ()
Ответ на: комментарий от Mant1kor

vfs objects = acl_xattr map acl inherit = yes store dos attributes = yes

Ну в общем то эти строчки, которые вы добавили, также содержатся в мане по win acl.

N-N ()
Ответ на: комментарий от N-N

Да, но раньше и с ними не работало. Видимо раньше я где-то еще ошибся.

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