Permissões de diretório incorretas com o OpenSSH no Cygwin no Windows Server 2008 SP2

2

Eu corri para um estranho problema de permissão de diretório quando logado em um servidor Win2008SP2 (não R2) através do SSH. Quando abro um shell cygwin local no servidor, posso fazer isso:

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
$

Não tenho problemas em acessar o diretório 'config' ao usar um shell cygwin local. 'myUser' tem todas as permissões necessárias para acessar o diretório também. Na verdade, 'myUser' é um administrador local na máquina.

Listar as permissões da pasta de configuração através do shell cygwin local mostra a seguinte saída:

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

Mas quando eu faço login no servidor com um cliente SSH (neste caso, o Putty), eu me deparo com o seguinte problema:

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

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

Ele também não lista as permissões adequadas por meio do SSH:

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

Quando olho para os processos em execução no servidor com o Gerenciador de Tarefas (com uma conexão de área de trabalho remota), ele mostra que todos os processos bash.exe estão sendo executados na conta 'myUser', então não entendo por que acesse esse diretório específico por meio do SSH, mas não tenha problemas em acessá-lo em um shell cygwin local.

Estou usando o OpenSSH 5.9p1-1. Não sei qual é a versão do Cygwin ... Eu usei o setup.exe mais recente (versão 2.738) do Cygwin, mas não consigo encontrar nenhum outro número de versão relacionado ao Cygwin.

Eu duvido que isso esteja relacionado ao SSH / Cygwin, porque quando eu conecto do servidor Win2008SP2 à minha máquina Win7 local através do SSH (usando as mesmas versões do OpenSSH / Cygwin) eu posso acessar o / cygdrive / c / Windows / System32 / inetsrv / config pasta sem problemas.

Alguém tem uma ideia sobre qual poderia ser o problema?

    
por Davy Brion 15.11.2011 / 11:10

1 resposta

1

Descobriu-se que o serviço ssh no servidor estava sendo executado como um usuário local 'sshd_server'. Mesmo que eu tenha feito login com um usuário de domínio que tenha privilégios suficientes, o acesso ao diretório foi bloqueado (por motivos que não são claros para mim) por causa do sshd_user no qual o serviço foi executado.

A solução foi executar o serviço ssh em uma conta de domínio que tinha privilégios suficientes para acessar a pasta e, então, funcionou. Eu não estou totalmente feliz com esta solução, e gostaria de ouvir a aposta

    
por 16.11.2011 / 09:25