samba34 проблемы с ACL

Проблемы с установкой, настройкой и работой системных и сетевых программ.

Модераторы: GRooVE, alexco

Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Аватара пользователя
f0s
ст. лейтенант
Сообщения: 1082
Зарегистрирован: 2007-03-13 18:43:31
Откуда: Санкт-Петербург
Контактная информация:

samba34 проблемы с ACL

Непрочитанное сообщение f0s » 2010-03-10 17:53:27

Имеем файловый сервер:

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

[f0s@fileserver] //> uname -a
FreeBSD fileserver.artpaint 6.3-RELEASE-p6 FreeBSD 6.3-RELEASE-p6 #0: Mon Dec  1 16:37:14 MSK 2008     f0s@fileserver.artpaint:/usr/obj/usr/src/sys/fileserver-2008-01-12  amd64
стояла samba 3.0.25a, и все в принципе было хорошо, но понадобилось пустить на шару windows7. Установил из портов samba34:

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

[f0s@fileserver] //> pkg_info | grep samba
samba34-3.4.5_1     A free SMB and CIFS client and server for UNIX
и все вроде бы хорошо, за исключением того, что нужно было заново машиун ввести в домен, а также подправить конфиг на предмет /var/spool/samba34 (иначе cups не работал)... но вот какой косяк. стали намнго дольше из виндом открываться папки с шары. похерились все ACL-и..

шары лежат тута:

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

/dev/ar0s2e on /usr/home/public/homes (ufs, local, with quotas, soft-updates, acls)
/dev/ar0s2d on /usr/home/public/profiles (ufs, local, with quotas, soft-updates, acls)
/dev/ar0s2f on /usr/home/public/shared (ufs, local, soft-updates, acls)
в первых двух (homes, profiles) - ACL не использую. ACL использую в общей шаре - shared, которая подключается у пользователей как диск Z:.
во первых чтобы нормально работать пользователям проишлось делать setfacl -b * && setfacl -m u::rwx,g:rwx *
но, мало того, из виндоус теперь нельзя выставлять галки (рулить правами).. как только пытаюсь добавить разрешения к какому-лиюо файлу или папке, выдает сообщение:

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

Безопасность
Не удалось сохранить изменения разрешений на НОВАЯ ПАПКА
Отказано в доступе.
[Повтор] [Отмена]

Кто-нить сталкивался с таким? что вообще делать-то?

конфиг самбы выкладываю на всякий случай:

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

[f0s@fileserver] //> testparm
Load smb config files from /usr/local/etc/smb.conf
max_open_files: sysctl_max (11095) below minimum Windows limit (16384)
rlimit_max: rlimit_max (11095) below minimum Windows limit (16384)
Processing section "[HOME]"
Processing section "[profiles]"
Processing section "[shared]"
Processing section "[trash]"
Processing section "[magazin]"
Processing section "[backup]"
Processing section "[tmp]"
Processing section "[printers]"
Processing section "[print$]"
Processing section "[IPC$]"
Loaded services file OK.
Invalid combination of parameters for service profiles.                           Map hidden can only work if create mask includes octal 01 (S_IXOTH).
Invalid combination of parameters for service profiles.                           Map system can only work if create mask includes octal 010 (S_IXGRP).
Server role: ROLE_DOMAIN_MEMBER
Press enter to see a dump of your service definitions

[global]
        dos charset = cp866
        unix charset = koi8-r
        display charset = koi8-r
        workgroup = ARTPAINT
        server string =
        security = DOMAIN
        passdb backend = ldapsam:ldaps://192.168.10.8/
        log file = /var/log/samba34/log.%m
        max log size = 500
        acl compatibility = win2k
        socket options = TCP_NODELAY IPTOS_LOWDELAY SO_RCVBUF=8192 SO_SNDBUF=8192
        printcap name = cups
        os level = 33
        local master = No
        domain master = No
        wins server = 192.168.10.8
        ldap admin dn = "cn=root,dc=artpaint,dc=spb,dc=ru"
        ldap group suffix = ou=groups
        ldap machine suffix = ou=computers
        ldap suffix = dc=artpaint,dc=spb,dc=ru
        ldap user suffix = ou=users
        idmap uid = 8000-9000
        idmap gid = 8000-9000
        winbind separator = @
        winbind enum users = Yes
        winbind enum groups = Yes
        winbind use default domain = Yes
        inherit acls = Yes
        hosts allow = 192.168.10., 192.168.20., 192.168.0., 127.
        map acl inherit = Yes

[HOME]
        comment = Home directories
        path = /usr/home/public/homes/%u
        read only = No
        create mask = 0600
        directory mask = 0700
        browseable = No
        browsable = No
        vfs objects = recycle, full_audit
        full_audit:priority = INFO
        full_audit:failure = unlink rmdir mkdir write rename write aio_write pwrite
        full_audit:success = unlink rmdir mkdir write rename write aio_write pwrite
        full_audit:prefix = share=%S; id=%U; ip=%I -->
        recycle:minsize = 1
        recycle:versions = Yes
        recycle:directory_mode = 0770
        recycle:exclude = *.TMP *.tmp *.avi *.AVI *.MPG *.mpg
        recycle:maxsize = 0
        recycle:version = Yes
        recycle:touch_mtime = Yes
        recycle:touch = Yes
        recycle:keeptree = Yes
        recycle:repository = /var/spool/trash/%S

[profiles]
        comment = Users profiles
        path = /usr/home/public/profiles/%u
        read only = No
        create mask = 0600
        directory mask = 0700
        map hidden = Yes
        map system = Yes
        browseable = No
        browsable = No
        csc policy = disable

[shared]
        comment = Shared files
        path = /usr/home/public/shared
        admin users = @ARTPAINT\admins
        read list = @ARTPAINT\people
        write list = @ARTPAINT\people
        read only = No
        create mask = 0660
        directory mask = 0770
        force unknown acl user = Yes
        map archive = No
        map readonly = no
        browseable = No
        browsable = No
        delete readonly = Yes
        vfs objects = recycle, full_audit
        full_audit:priority = INFO
        full_audit:failure = unlink rmdir mkdir write rename write aio_write pwrite
        full_audit:success = unlink rmdir mkdir write rename write aio_write pwrite
        full_audit:prefix = share=%S; id=%U; ip=%I -->
        recycle:minsize = 1
        recycle:versions = Yes
        recycle:directory_mode = 0770
        recycle:exclude = *.TMP *.tmp *.AVI *.avi *.mpg *.MPG
        recycle:maxsize = 0
        recycle:version = Yes
        recycle:touch_mtime = Yes
        recycle:touch = Yes
        recycle:keeptree = Yes
        recycle:repository = /var/spool/trash/%S

[trash]
        path = /var/spool/trash
        admin users = @ARTPAINT\admins
        read list = @ARTPAINT\admins
        write list = @ARTPAINT\admins
        browseable = No
        browsable = No

[magazin]
        comment = Magazin files
        path = /usr/home/public/magazin
        read only = No
        create mask = 0660
        directory mask = 0770
        browseable = No
        browsable = No

[backup]
        comment = Bases
        path = /usr/home/public/backup
        read only = No
        create mask = 0660
        directory mask = 0770
        browseable = No
        browsable = No

[tmp]
        comment = Temporary files
        path = /tmp
        read only = No
        create mask = 0644
        directory mask = 0744
        guest ok = Yes

[printers]
        comment = All printers
        path = /var/spool/samba34
        guest ok = Yes
        printable = Yes
        browseable = No
        browsable = No

[print$]
        comment = Printer drivers
        path = /usr/local/share/cups/drivers
        write list = root

[IPC$]
        path = /tmp
        hosts allow = 192.168.10.0/24, 192.168.20.0/24, 192.168.0.0/24, 127.0.0.1
        hosts deny = 0.0.0.0/0
Последний раз редактировалось terminus 2010-03-10 17:55:16, всего редактировалось 1 раз.
Причина: Такой большой (Сообщения: 957), а пишите не в том форуме :) Перенесено в Софт из FreeBSD
named, named, what is my TTL value?..

[FidoNet 2:550/2 && 2:5030/4441]

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35282
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: samba34 проблемы с ACL

Непрочитанное сообщение Alex Keda » 2010-03-10 21:25:42

в логах что
Убей их всех! Бог потом рассортирует...

Аватара пользователя
f0s
ст. лейтенант
Сообщения: 1082
Зарегистрирован: 2007-03-13 18:43:31
Откуда: Санкт-Петербург
Контактная информация:

Re: samba34 проблемы с ACL

Непрочитанное сообщение f0s » 2010-03-29 14:27:35

до логов еще несколько небольших заметок.

самбу в итоге поставил 3.3

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

[f0s@fileserver] //> pkg_info | grep samba
samba-3.3.10        A free SMB and CIFS client and server for UNIX
сделал, чтобы по id ivanova показывались реальные номера групп/юзера. то есть nsswith.conf настроил на использование ldap (домен на самба+лдап). Теперь пользователи видятся с реальными номерами:

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

[f0s@fileserver] //> id ivanova
uid=5992(ivanova) gid=36385(people) groups=36385(people),14953(marketing),4774(real_administration),2989(terminal01)
а вот с acl-ми имеем такой косяк.. сделал я setfacl -b * && setfacl -m u::rwx,g::rwx *
То есть сбросил все разрешения. Ну имеем в итоге такой вот файлик:

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

[f0s@fileserver] /home/public/shared/о. Финансовый/Седова Е/О т ч е т н о с т ь/> getfacl Реал\ в\ ценах\ 2010.xls 
#file:Реал в ценах 2009.xls
#owner:9999
#group:36385
user::rwx
group::rwx
mask::rwx
other::---
Теперь этот файлик на редактирование открывает пользователь другой и меняет его. Сохраняет. Получаем:

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

[f0s@fileserver] /home/public/shared/о. Финансовый/Седова Е/О т ч е т н о с т ь/> getfacl Реал\ в\ ценах\ 2010.xls
#file:Реал в ценах 2010.xls
#owner:7754
#group:36385
user::rw-
user:admin:rwx          # effective: rw-
group::---
group:8021:rwx          # effective: rw-
group:8034:rwx          # effective: rw-
mask::rw-
other::---
то есть что мы видим, сменился owner (стал 7754, это:

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

[f0s@fileserver] /home/public/shared/о. Финансовый/Седова Е/О т ч е т н о с т ь/> id dobronravova
uid=7754(dobronravova) gid=36385(people) groups=36385(people),50609(finance),35669(real_finance),2989(terminal01)
)

а вот еще на файлик назначились права на группы.. только вот номер этой группы видимо от старой самбы, и как следствие этот файлик теперь может открыть только dobronravova, либо нужно опять делать setfack -b && setfacl -m u::rwx,g::rwx

нужно понять кто джобавляет эти данные.. то есть где хранит acl Все эти записи? хорошо бы из подчистить...

собствено смотрим логи:

1) здесь я просто вошел на шару

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

[2010/03/29 15:15:12,  1] smbd/service.c:make_connection_snum(1119)
  terminal03 (192.168.10.3) connect to service HOME initially as user admin (uid=9999, gid=10004) (pid 31117)
[2010/03/29 15:15:13,  1] smbd/service.c:make_connection_snum(1119)
  terminal03 (192.168.10.3) connect to service shared initially as user admin (uid=0, gid=10004) (pid 31117)
2) здесь я решил добавить в политику безопансои группу it с правами доступа "всем всё"

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

[2010/03/29 15:16:42,  0] passdb/passdb.c:lookup_global_sam_name(595)
  User admin with invalid SID S-1-5-21-1143629007-3883614378-2078852349-21006 in passdb
[2010/03/29 15:16:42,  0] passdb/passdb.c:lookup_global_sam_name(595)
  User admin with invalid SID S-1-5-21-1143629007-3883614378-2078852349-21006 in passdb
[2010/03/29 15:16:42,  0] passdb/passdb.c:lookup_global_sam_name(595)
  User admin with invalid SID S-1-5-21-1143629007-3883614378-2078852349-21006 in passdb
[2010/03/29 15:16:42,  0] passdb/passdb.c:lookup_global_sam_name(595)
  User admin with invalid SID S-1-5-21-1143629007-3883614378-2078852349-21006 in passdb
[2010/03/29 15:16:42,  0] passdb/passdb.c:lookup_global_sam_name(595)
  User admin with invalid SID S-1-5-21-1143629007-3883614378-2078852349-21006 in passdb
[2010/03/29 15:16:42,  0] passdb/passdb.c:lookup_global_sam_name(595)
  User admin with invalid SID S-1-5-21-1143629007-3883614378-2078852349-21006 in passdb
[2010/03/29 15:16:42,  0] passdb/passdb.c:lookup_global_sam_name(595)
  User admin with invalid SID S-1-5-21-1143629007-3883614378-2078852349-21006 in passdb
[2010/03/29 15:16:42,  0] passdb/passdb.c:lookup_global_sam_name(595)
  User admin with invalid SID S-1-5-21-1143629007-3883614378-2078852349-21006 in passdb
[2010/03/29 15:16:42,  0] passdb/passdb.c:lookup_global_sam_name(595)
  User admin with invalid SID S-1-5-21-1143629007-3883614378-2078852349-21006 in passdb
[2010/03/29 15:16:42,  0] passdb/passdb.c:lookup_global_sam_name(595)


делаем с этого компа:

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

[f0s@fileserver] //> net getlocalsid
SID for domain FILESERVER is: S-1-5-21-929578964-121429126-3024874892
а это из лдапа:

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

# fileserver$, computers, artpaint.spb.ru
dn: uid=fileserver$,ou=computers,dc=artpaint,dc=spb,dc=ru
objectClass: account
objectClass: posixAccount
objectClass: sambaSamAccount
cn: fileserver$
uid: fileserver$
uidNumber: 65073
gidNumber: 10003
homeDirectory: /dev/null
loginShell: /bin/false
gecos: fileserver$
description: Machine account
sambaSID: S-1-5-21-1143629007-3883614378-2078852349-1035
displayName: fileserver$
sambaPwdLastSet: 1269857850
sambaAcctFlags: [W          ]


в любом случае sid другой....
named, named, what is my TTL value?..

[FidoNet 2:550/2 && 2:5030/4441]

Аватара пользователя
f0s
ст. лейтенант
Сообщения: 1082
Зарегистрирован: 2007-03-13 18:43:31
Откуда: Санкт-Петербург
Контактная информация:

Re: samba34 проблемы с ACL

Непрочитанное сообщение f0s » 2010-06-01 12:30:38

НАРОД!!!
нежули никто не знает как убрать acl старые???

мне нужно убрать из системы все старые ACL... пробовал убивать файл share_info.tdb - не помогло - создает такой же такого же размера....
named, named, what is my TTL value?..

[FidoNet 2:550/2 && 2:5030/4441]

snorlov
подполковник
Сообщения: 3839
Зарегистрирован: 2008-09-04 11:51:25
Откуда: Санкт-Петербург

Re: samba34 проблемы с ACL

Непрочитанное сообщение snorlov » 2010-06-01 12:45:37

f0s писал(а):НАРОД!!!
нежули никто не знает как убрать acl старые???
мне нужно убрать из системы все старые ACL... пробовал убивать файл share_info.tdb - не помогло - создает такой же такого же размера....
запусти find на файлы и каталоги с -exec setfacl -b {} \;
Ты перед тем как ставить самбу34 сначало бы заполучил бы локальный sid net getlocalsid, в после установки его бы и установил net setlocalsid...

Аватара пользователя
f0s
ст. лейтенант
Сообщения: 1082
Зарегистрирован: 2007-03-13 18:43:31
Откуда: Санкт-Петербург
Контактная информация:

Re: samba34 проблемы с ACL

Непрочитанное сообщение f0s » 2010-06-01 12:54:35

snorlov писал(а):
f0s писал(а):НАРОД!!!
нежули никто не знает как убрать acl старые???
мне нужно убрать из системы все старые ACL... пробовал убивать файл share_info.tdb - не помогло - создает такой же такого же размера....
запусти find на файлы и каталоги с -exec setfacl -b {} \;
Ты перед тем как ставить самбу34 сначало бы заполучил бы локальный sid net getlocalsid, в после установки его бы и установил net setlocalsid...
setfacl у меня запускается скриптом каждые 15 минут, иначе пользователь, когда создает новый файл, он создается со старыми разрешениями!!! то есть все новые файлы идут со старыми разрешения, х3, что делать
самба уже 3,3 стоит.
named, named, what is my TTL value?..

[FidoNet 2:550/2 && 2:5030/4441]

snorlov
подполковник
Сообщения: 3839
Зарегистрирован: 2008-09-04 11:51:25
Откуда: Санкт-Петербург

Re: samba34 проблемы с ACL

Непрочитанное сообщение snorlov » 2010-06-01 13:08:40

У тебя есть

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

inherit acls = yes
map acl inherit = Yes
 
Т.е. наследовать разрешения сверху, вот они и наследуются...

Аватара пользователя
f0s
ст. лейтенант
Сообщения: 1082
Зарегистрирован: 2007-03-13 18:43:31
Откуда: Санкт-Петербург
Контактная информация:

Re: samba34 проблемы с ACL

Непрочитанное сообщение f0s » 2010-06-01 13:18:30

snorlov писал(а):У тебя есть

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

inherit acls = yes
map acl inherit = Yes
 
Т.е. наследовать разрешения сверху, вот они и наследуются...
если я их уберу и буду делать новые разрешения - мне они же снова понадобятся, чтобы было наследование разрешений?
named, named, what is my TTL value?..

[FidoNet 2:550/2 && 2:5030/4441]