Debian 10, Samba, Active Directory. Как установить владельца файла\папки группу безопасности Windows ?
В общем не могу назначить владельца папки группу безопасности Windows. При попытке выполнить:
chown "domain admins":"domain users" /srv/samba/printer_drivers chown: invalid user: ‘domain admins:domain users’
оно и понятно что не получается, т.к. юзера domain admins нет.
Машина в домене Windows, установлена Samba 4.9.5, следующие параметры указаны в smb.conf
[global] realm = KA.KA.LOCAL workgroup = KA security = ads encrypt passwords = yes netbios name = K3062 server string = %h server domain master = no local master = no preferred master = no os level = 0 domain logons = no dns proxy = no socket options = TCP_NODELAY unix charset = UTF-8 dos charset = 866 idmap config * : backend = tdb idmap config * : range = 3000-7999 idmap config KA : backend = rid idmap config KA : range = 10000-999999 winbind enum users = yes winbind enum groups = yes winbind refresh tickets = yes winbind use default domain = yes winbind offline logon = yes winbind cache time = 300 template shell = /bin/bash vfs objects = acl_xattr acl_xattr:ignore system acl = yes map acl inherit = yes store dos attributes = yes rpc_server:spoolss = external rpc_daemon:spoolssd = fork printing = CUPS load printers = no show add printer wizard = no log level = 0 vfs:1 [printers] comment = All Printers path = /var/spool/samba printable = yes [print$] comment = Printer Drivers path = /srv/samba/printer_drivers/ read only = no [KMRU-PRT025] path = /var/spool/samba printable = yes printer name = PRT025
# /etc/nsswitch.conf # # Example configuration of GNU Name Service Switch functionality. # If you have the `glibc-doc-reference' and `info' packages installed, try: # `info libc "Name Service Switch"' for information about this file. passwd: files winbind group: files winbind shadow: files gshadow: files hosts: mdns4_minimal [NOTFOUND=return] files dns networks: files protocols: db files services: db files ethers: db files rpc: db files netgroup: nis
Пробовал меня в passwd, group с files на compat все равно не помогает.
В то же время! На Debian 9 все тоже самое по конф. файлам, на там все работает, в качестве владельца успешно назначается группа безопасности Windwso.
У меня вопрос что я делаю не так ?
настрой получение пользователей системы из samba AD для начала
успешно выподят пользователей и группы безопасности домена Windows,
Так же успешно назначаются права аля
chown root:'domain users' /srv/samba/printer_drivers
успешно выподят пользователей и группы безопасности домена Windows,
какое это имеет отношение к системным пользователям?
пользователей и группы должны выдавать
getent passwd
getent group
Если всё работает, тогда зачем ты сюда пришёл?
пользователей и группы должны выдавать getent passwd getent group
все успешно выдает, как локальные так и группы домена
А пришле я сюда потому что не отрабатывает команда
chown «domain admins»:«domain users» /srv/samba/printer_drivers
chown: invalid user: ‘domain admins:domain users’
chown root:"domain users" /srv/samba/printer_drivers
То применяются права, но если их смотреть через Windows оснастку, то видим что владельцем значится root и изменить его на группу безопасности не получается, ругается что нет такого ID.
В Debian 9 успешно назначается, я не могу понять почему в 10 не получается.
Тебе пишут что пользователя domain admins нет, потому что у тебя его нет
Да я это понимаю. Но NSSWITCH же позволяет в compat вроде как указывать в owner user группы Active Directory. По крайней мере в 9-ке это работает, а вот в 10 херня какая то…
Я не знаю, что у тебя работает, не сижу с тобой рядом, и за руками твоими не слежу.
Предполагаю что ты ошибаешься, или врёшь
вот как это в Debian 9 выглядит все
chown 'domain admins':'domain users' /samba/public ls -l /samba/ drwxr-xr-x 2 domain admins domain users 4096 ноя 9 17:00 public
как видно, что в качестве user owner успешно назначается группа безопасности Windows…
вот в чем разница, что поменялось в 10-ке и в версиях Samba и Winbind
можно на 9ке остаться конечно, но хотелось бы разобраться в чем дело то…
Предполагаю что ты ошибаешься, или врёшь
врать то мне зачем !? где логика писать с вопросом сюда, при этом заведомо врать !? это как минимум странно. Но я не вру, как есть так и пишу.
я так думаю что проблема даже не в samba и winbind, а скорей что то в ядре поменялось, т.к. chown перестал в 10ке давать назначать группу безопасности Windows с учетом что на машине используется samba.
Domain admins не похоже на имя пользователя. Скорее на группу/контейнер.
Имя пользователя это vasya_admin в группе domain admins
Имя пользователя это то под кем ты можешь залогиниться. Попробуй от рута через su или sudo стать этим пользователем и проверь
Так точно Domain admins это группа доменных админов Windows AD. Если обращал внимание что там в качестве владельца можно указывать не конкретного пользователя, а целую группу, так вот и тут. Вот в Debian 9 успешно можно в user owner зацепить целую группу AD, а вот с теми же настроками samba в Debian 10 выже ругается что такого пользователя нет, что и логично. Я пытаюсь понять почему в 9 все катит, а в 10 нет и что надо сделать чтобы катило…
В юниксах нельзя группу на пользователя. Для этого и есть группа. Назначь права printer:domain admins
Да я знаю это, Но samba и winbind позволяет это сделать если в nsswind.conf в параметрах user, group указать compat. Но это срабатывает почему в 9той, а в 10ке уже нет. Я не понять что в 10ке поменялось или это версионность samba так ведет себя.
значит какие-то настройки не переехали.
chown не делает никакой магии а просит у glibc вернуть UID на «Domain admins». glibc смотрит на nsswitch. здесь задействованна libnss-winbind и, возможно, каким-то образом PAM и его правила. сравнивай что там и здесь.
сам понимаю что никакой магии нет и вроде все прозрачно, но вот удивился что при переходе на 10ку, пропала такая вот возможность, самоличные ковыряния зашли в тупик, вот тут у комунити решил спросить, авось кто тоже так же как и я столкнулся и наковырял 🙂
Спасибо за наводку, буду ковырять дальше, наковыряю для истории отпишу.
что говорит id «Domain admins» ?
id "domain admins" id: ‘domain admins’: no such user
т.к. chown перестал в 10ке давать назначать группу безопасности Windows с учетом что на машине используется samba.
Не перестал, никогда не делал. Расширенные права выдаются через https://linux.die.net/man/1/setfacl
zgen ★★★★★ ( 09.11.21 21:29:08 MSK )
Последнее исправление: zgen 09.11.21 21:30:40 MSK (всего исправлений: 1)
ну блин в Debian 9 это можно. Факт, если настолько упорно не верящий то подними тестовый стенд и убедись, якуешь что можно.
Вот на Debian 9. owner — domain\040admins.
getfacl /samba/public/ getfacl: Removing leading '/' from absolute path names # file: samba/public/ # owner: domain\040admins # group: domain\040users user::rwx group::r-x other::r-x
А на 10 уже что то изменили что уже не срабатывает.
Вот на Debian 9. owner — domain\040admins.
И что? Я создам пользователя «domain admins» и буду тебе показывать, как там owner «domain admins» это совершенно ничего значить не будет.
боже, ладно запишу видео, выложу на youtube вставлю ссылку сюда. Насколько вот убеждение человека что его обманывают. Ты очень тяжелый человек.
лучше id «domain admins» на debian 9 сделай
** демонстрационное видео аплодится на youtube
так очень, а может и очевидно почему, но результат на Debian 9 —
id 'domain admins' uid=10512(domain admins) gid=10512(domain admins) группы=10512(domain admins)
id 'domain admins' id:‘domain admins’: no such user
пользователя соответственно на Debian 9 и в AD Windows под именем domain admin нет, только группа безопасности в AD Windows.
все же склоняюсь в к тому что nsswinbind.conf в users, groups указан compat, но в то же время так же и указано и в Debian 10, но там вот такой вывод. Блин пока что тупик у меня, но объяснение то должно быть..
Видео залилось — https://youtu.be/uabiAVWvHqo, там собственно все видно в сравнении между 9 и 10 debian. Конфиг samba один в один одинаков.
Т.е. пользователь «domain admins» есть. Что ещё нужно?
Выкладывай по шагам, как настраивал, и все связанные конфиги
zgen ★★★★★ ( 10.11.21 01:41:52 MSK )
Последнее исправление: zgen 10.11.21 01:42:58 MSK (всего исправлений: 1)
та в том то и дело что пользователя ‘domain admins’ нет, не в системе Linux, не в Windows AD. ‘domain admins’ существует только как группа безопасности в Windows AD.
Это же вижно из видео что выкладывал, там по какой то причине ‘domain admins’ прокатывает в роли пользователя в Debian 9, а вот уже в 10ке показывается нам болт, что нет такого пользователя (что само собой и разуемется). Тоже самое и с id в Debian 9 и 10, в девятке он видит ‘domain admins’ как пользователя, а в 10 нет.
Странная фигня, согласись и я не придумываю это, это на самом деле так и есть. Уже дело принципа разобраться что за бубуйня.
Конфиги smb.conf, nsswitch.conf, krb5.conf — вот один в один (ну имена машин только разные само собой).
[global] # ОБЩИЕ ПАРАМЕТРЫ СЕТЕВОЙ ШАРЫ realm = KA.LOCAL workgroup = KA security = ads encrypt passwords = yes netbios name = KM3063 server string = %h server domain master = no local master = no preferred master = no os level = 0 domain logons = no dns proxy = no socket options = TCP_NODELAY unix charset = UTF-8 dos charset = 866 # Конфигурация для домена KA.LOCAL и его пользователей и групп idmap config * : backend = tdb idmap config * : range = 3000-7999 idmap config KA : backend = rid idmap config KA : range = 10000-999999 # ПАРАМЕТРЫ WINBIND winbind enum users = yes winbind enum groups = yes winbind refresh tickets = yes winbind use default domain = yes winbind offline logon = yes winbind cache time = 300 template shell = /bin/bash # ПОДКЛЮЧЕНИЕ МОДУЛЕЙ VFS (Virtual File System) vfs objects = acl_xattr acl_xattr:ignore system acl = yes # Поддержка Windows ACLs map acl inherit = yes store dos attributes = yes load printers = no show add printer wizard = no printcap name = /dev/null disable spoolss = yes # ПАРАМЕНТЫ ЛОГИРОВАНИЯ log level = 0 vfs:1
# /etc/nsswitch.conf # # Example configuration of GNU Name Service Switch functionality. # If you have the `glibc-doc-reference' and `info' packages installed, try: # `info libc "Name Service Switch"' for information about this file. passwd: compat winbind group: compat winbind shadow: compat gshadow: files hosts: files dns networks: files protocols: db files services: db files ethers: db files rpc: db files netgroup: nis
[logging] default = FILE:/var/log/krb5libs.log kdc = FILE:/var/log/krb5kdc.log admin_server = FILE:/var/log/kadmind.log [libdefaults] default_realm = KA.LOCAL dns_lookup_kdc = false dns_lookup_realm = false forwardable = true ticket_lifetime = 24h [realms] KA.LOCAL = < kdc = km0003.ka.local kdc = km0004.ka.local default_domain = KA.LOCAL admin_server = km0003.ka.local >[domain_realm] .ka.local = KA.LOCAL ka.local = KA.LOCAL
все больше ничего не настраивалось на обоих машинах, они были введены в домен — net join.. только вот на 9ке вот так, а на 10 вот так работает.