Назад | Перейти на главную страницу

Неправильные права доступа к каталогу с OpenSSH на Cygwin на Windows Server 2008 SP2

При входе на сервер Win2008SP2 (не R2) через SSH я столкнулся со странной проблемой с правами доступа к каталогам. Когда я открываю локальную оболочку cygwin на сервере, я могу сделать это:

myUser@myServer ~
$ cd /cygdrive/c/Windows/System32/inetsrv/

myUser@myServer /cygdrive/c/Windows/System32/inetsrv
$ cd config

myUser@myServer /cygdrive/c/Windows/System32/inetsrv/config
$

У меня нет проблем с доступом к каталогу config при использовании локальной оболочки cygwin. «myUser» также имеет все необходимые разрешения для доступа к каталогу. Фактически myUser - это локальный администратор на машине.

Вывод списка разрешений для папки config через локальную оболочку cygwin показывает следующий результат:

   4 drwx------+ 1 SYSTEM         SYSTEM             0 Aug  2 09:38 config

Но когда я вхожу на сервер с помощью SSH-клиента (в данном случае Putty), я сталкиваюсь со следующей проблемой:

myUser@myServer ~
$ cd /cygdrive/c/Windows/System32/inetsrv/

myUser@myServer /cygdrive/c/Windows/System32/inetsrv
$ cd config
-bash: cd: config: Permission denied

Он также не перечисляет надлежащие разрешения через SSH:

0 drwxr-x---  1 ????????       ????????           0 Aug  2 09:38 config

Когда я смотрю на запущенные процессы на сервере с помощью диспетчера задач (с подключением к удаленному рабочему столу), он показывает, что все процессы bash.exe выполняются под учетной записью myUser, поэтому я не понимаю, почему я не могу получить доступ этот конкретный каталог через SSH, но у вас нет проблем с доступом к нему в локальной оболочке cygwin.

Я использую OpenSSH 5.9p1-1. Я не уверен, что это за версия Cygwin ... Я использовал последнюю версию setup.exe (версия 2.738) Cygwin, но я не могу найти какой-либо другой номер версии, связанный с Cygwin.

Я сомневаюсь, что это связано с SSH / Cygwin, потому что, когда я подключаюсь с сервера Win2008SP2 к моей локальной машине Win7 через SSH (используя те же версии OpenSSH / Cygwin), я могу получить доступ к / cygdrive / c / Windows / System32 / inetsrv / config без проблем.

Кто-нибудь знает, в чем может быть проблема?

Оказалось, что это связано с тем, что служба ssh на сервере работает как локальный пользователь sshd_server. Несмотря на то, что я вошел в систему с пользователем домена с достаточными привилегиями, доступ к каталогу был заблокирован (по причинам, которые мне не ясны) из-за sshd_user, под которым работала служба.

Решением было запустить службу ssh под учетной записью домена, у которой были достаточные права для доступа к папке, и тогда это сработало. Я не совсем доволен этим решением и хотел бы услышать пари