Я знаю, что могу устанавливать или изменять атрибуты RFC2307, такие как uidNumber и gidNumber, со стороны Windows с помощью RSAT. Поскольку это довольно болезненно при большом количестве пользователей и групп, мне бы очень хотелось найти способ сделать это в командной строке Linux. Есть ли способ сделать это на Samba 4.3.11 (версия, которая сейчас поставляется с Ubuntu)?
Лично я бы использовал LDAP в качестве протокола для подключения к контроллеру домена Active Directory из Linux.
Затем либо используйте свой любимый язык сценариев для прямого подключения к AD, либо просто создайте LDIF файл с предполагаемыми изменениями и используйте ldapmodify
утилита командной строки для массового изменения.
# A simple LDIF to change a uidNumber and set a gidNumber
# for both John and Jane Doe would look like:
dn: cn=John Doe,ou=Users,dc=example,dc=com
changetype: modify
replace: uidNumber
uidNumber: 9001
-
add: gidNumber
gidNumber: 9001
-
dn: cn=Jane Doe,ou=Users,dc=example,dc=com
changetype: modify
add: uidNumber
uidNumber: 9002
-
add: gidNumber
gidNumber: 9001
-
# EOF
Пытаться ldbedit -H /var/lib/samba/private/sam.ldb
и ldbedit -H /var/lib/samba/private/idmap.ldb