Домен/Windows: различия между версиями
Строка 41: | Строка 41: | ||
# net rpc group members 'Domain Admins' -Uadmin%12345 | # net rpc group members 'Domain Admins' -Uadmin%12345 | ||
SCHOOL-5\cas | SCHOOL-5\cas | ||
''Примечание:'' Обратите внимание, пароль можно указывать у имени пользоватeля через «%». | |||
4. Выдайте привилегии для группы {{term|Domain Admins}}: | 4. Выдайте привилегии для группы {{term|Domain Admins}}: | ||
Строка 52: | Строка 54: | ||
5. Чтобы не было коллизий с системным пользователем root, после операции по назначению группы и привилегий этого пользователя нужно удалить или поменять его UID на другой. | 5. Чтобы не было коллизий с системным пользователем root, после операции по назначению группы и привилегий этого пользователя нужно удалить или поменять его UID на другой. | ||
6. J | |||
= Решение проблем = | = Решение проблем = |
Версия от 17:23, 16 октября 2012
Использование домена для аутентификации компьютеров с Windows.
Создание групп и выдача административных привилегий
1. Сначала нужно назначить пользователя-администратора. Для прав на выдачу привилегий у него должен быть uid равный 0. Тогда он может назначать привилегии через net rpc rights. Заведите временно пользователя в LDAP (например, admin), задайте ему пароль и поменяйте uidNumber так:
echo "uidNumber:0" | ldap-usermod replace admin
2. В LDAP создайте группы через веб-интерфейс или из командной строки:
ldap-groupadd Admins ldap-groupadd Users ldap-groupadd Guests ldap-groupadd Computers
Эти группы понадобятся для привязки к группам домена согласно таблице:
Группа LDAP | Группа Windows | Идентификатор в Windows |
---|---|---|
Admins | Domain Admins | 512 |
Users | Domain Users | 513 |
Guests | Domain Guests | 514 |
Computers | Domain Computers | 515 |
Добавьте туда пользователей через веб-интерфейс или из командной строки:
echo 'memberUid:cas' | ldap-groupmod add Admins
3. Привяжите группы LDAP к группам домена
net groupmap add rid=512 ntgroup="Domain Admins" unixgroup=Admins net groupmap add rid=513 ntgroup="Domain Users" unixgroup=Users net groupmap add rid=514 ntgroup="Domain Guests" unixgroup=Guests net groupmap add rid=515 ntgroup="Domain Computers" unixgroup=Computers
Проверка:
# net rpc group members 'Domain Admins' -Uadmin%12345 SCHOOL-5\cas
Примечание: Обратите внимание, пароль можно указывать у имени пользоватeля через «%».
4. Выдайте привилегии для группы Domain Admins:
net rpc rights grant "Domain Admins" SeMachineAccountPrivilege SePrintOperatorPrivilege \ SeAddUsersPrivilege SeDiskOperatorPrivilege SeRemoteShutdownPrivilege -Uadmin%12345
Проверка (просмотр всех привилегий по группам):
net rpc rights list accounts -Uadmin
Примечание: обратите внимание, что для заведения компьютера в домен нужно входить в группу с привилегией SeMachineAccountPrivilege.
5. Чтобы не было коллизий с системным пользователем root, после операции по назначению группы и привилегий этого пользователя нужно удалить или поменять его UID на другой.
6. J
Решение проблем
Если что-то пошло не так...
Если в результате экспериментов сломались привилегии или что-нибудь ещё, нужно очистить внутренние базы Samba. Выполните
rm -f /var/lib/samba/*.tdb service smb restart
Смена имени сервера Samba
Так как при создании нового пользователя в домене для него прописывается SID, при смене имени сервера серверная часть SID меняется и пользователи со старыми SID уже недоступны, показывается примерно такое
# pdbedit -L sid S-1-5-21-694984405-1863599809-1435972588-11002 does not belong to our domain
При этом новые пользователи заводятся уже с правильным SID. Для исправления ситуации со старыми пользователями нужно выполнить следующий скрипт:
nsid=$(net getlocalsid | cut -f2 -d: | tr -d ' ')
ldap-getent passwd \* uid SambaSID | sed 's/:.*-/ /' | while read u id;do echo "SambaSID:$nsid-$id" | ldap-usermod replace "$u";done
После этого команда
pdbedit -L
должна показать имена всех пользователей.