SeTcbPrivilege не работает, RSoP.msc, gpresult показывает, что он включен, whoami /priv показывает, отключен
Я пытаюсь установить Cygwin с SSHd на контроллере домена Windows Server 2008 R2. Я установил Cygwin и SSHd несколько раз на других машинах, без проблем. Будучи контроллером домена, пользователь cyg_server является частью домена. Я включил SeTcbPrivilege в групповой политике для контроллеров домена для DOMAIN\cyg_server, но он почему-то не применяется.
Выходные данные gpresult /v:
GPO: Default Domain Controllers Policy
Policy: TcbPrivilege
Computer Setting: Administrators
DOMAIN\cyg_server
DOMAIN\Domain Admins
Запуск RSoP.msc согласуется с gpresult, а также показывает, что эти группы и пользователь cyg_server должны иметь TcbPrivilete.
Но вывод whoami /priv показывает SeTcbPrivilege "Отключено":
PRIVILEGES INFORMATION
----------------------
Privilege Name Description State
=============================== ======================================================== ========
<...>
SeTcbPrivilege Act as part of the operating system
Disabled
<...>
Я могу запустить службу Cygwin SSHd, но могу войти только как cyg_server. Когда я пытаюсь войти в систему как администратор, я вижу это:
urkom@workstation:~$ ssh Administrator@domaincontroller
Administrator@domaincontroller's password:
Last login: Tue May 7 13:26:29 2013 from 172.1.10.22
/bin/bash: Operation not permitted
Connection to domaincontroller closed.
Для справки, вот соответствующая строка /etc/passwd:
Administrator:unused:500:513:Administrator,U-DOMAIN\Administrator,S-1-5-21-3835976426-429400520-196227251-500:/home/Administrator:/bin/bash
Я застрял, поэтому любая помощь будет приветствоваться. Спасибо.
2 ответа
Хорошо, да, это было довольно глупо с моей стороны...:)
Официальная документация фактически содержит всю необходимую информацию: http://www.cygwin.com/faq/faq.using.html
Чтобы заставить Cygwin SSHd работать, мне пришлось добавить третье разрешение из этого списка "Заменить токен уровня процесса":
Act as part of the operating system (SeTcbPrivilege)
Create a token object (SeCreateTokenPrivilege)
Replace a process level token (SeAssignPrimaryTokenPrivilege)
Теперь SSH логин работает! Ура!
Когда вы говорите "Администратор @domaincontroller", вы имеете в виду, что вы пытаетесь выполнить вход в систему с учетной записью локального администратора на компьютере? Это не будет работать на контроллере домена, потому что на контроллере домена больше нет локальной учетной записи: необходимо выполнить вход в систему с помощью администратора AD.