Permissões de utilizador do Cygwin para o sftp (a operação não é permitida)
então, instalei o Cygwin 1.7.17 no Win7, usei o mkpasswd para trazer um utilizador de domínio (a minha conta principal de administração). Usei o mkpasswd novamente para trazer uma conta local que criei chamada "ffftp".
mkpasswd -d -u administrator > /etc/passwd
mkpasswd -l -u ffftp >> /etc/passwd
usei o mkgroup para trazer todos os grupos de janelas necessários.
Posso escrever
$ login
user: ffftp
password: mypassword
E entra... mas diz isto:
Last login: Tue Apr 16 11:36:49 on pty0
login: no shell: /bin/bash: Operation not permitted
o utilizador local ffftp é apenas um grupo "utilizador" normal no windows.
o SID para ffftp começa com S-1-5-21.
já criei um cygwin / home / ffftp
e definir as suas permissões no windows.
Como É Que posso definir a chave privada para "ffftp", se não consigo ligar-me a esse utilizador?? O que me está a escapar???
também se alguém tiver um guia sobre a criação de encriptação AES com cygwin sshd, isso seria muito apreciado.
3 answers
Foi Assim que resolvi o erro:
/bin/bash: Operation not permitted
Primeiro, no ficheiro /etc/passwd
, o utilizador local que criou (ffftp) deverá ter um grupo predefinido associado a ele.
Por exemplo, o meu utilizador local chama-se sshd_server. O ID# do grupo associado à minha conta de utilizador local é 544. É o número localizado antes do texto para descrever a conta local (servidor privilegiado). Veja aqui:
sshd_server:unused:1004:544:Privileged server,U-USCHEPMSTGP01\sshd_server,S-1-5-21-2770448234-4262186856-4033879849-1004:/var/empty:/bin/bash
Poderá comparar este ID de grupo# com a lista de grupos definidos para /etc/group
.
Administrators:S-1-5-32-544:544:
Users:S-1-5-32-545:545:
None:S-1-5-21-2770448234-4262186856-4033879849-513:513:
Domain Users:S-1-5-21-329068152-343818398-1801674531-513:10513:
Para que a minha ligação do Cygwin SSH funcionasse, tive de modificar o meu ficheiro /etc/passwd
, e mudar o grupo associado à minha conta local (sshd_server) para o ID do grupo# associado a "None."
sshd_server:unused:1004:513:Privileged server,U-USCHEPMSTGP01\sshd_server,S-1-5-21-2770448234-4262186856-4033879849-1004:/var/empty:/bin/bash
Alterando o meu ID de grupo# em /etc/passwd
de 544 (administradores) para 513 (Nenhum), este erro foi resolvido.
Https://cygwin.com/ml/cygwin/2015-08/msg00162.html
No servidor cygwin:
- ir ao Painel de Controlo > Ferramentas Administrativas.
- Seleccione A Política De Segurança Local > As Políticas Locais > A Atribuição Dos Direitos Dos Utilizadores.
- carregue com o botão direito para substituir um item do nível do processo e seleccionar a segurança ou propriedades.
- Carregue em Adicionar para adicionar a conta sshd é utilizar. (cyg_server no meu caso)
- gpupdate
- reiniciar o serviço sshd
Agora tenta ligar-te através do ssh ... Eu fui bem sucedido
/bin/bash: Operation not permitted
Ao ligar-se ao sshd após actualizar o Cygwin da versão 1.7.9 para a Versão 2.9.0. A Causa Provável do problema é a falta do privilégio "substituir um Token de Nível de processo" para o usuário "cyg_server". No entanto, os direitos do Administrador local não foram suficientes para conceder este privilégio no computador em domínio. A minha solução (parcial):
Executar o serviço " CYGWIN sshd "na conta do utilizador do domínio em vez de"cyg_server".
Isto permite-lhe ligue-se ao sshd apenas sob este utilizador (quando tentar ligar-se sob outro utilizador, ocorre um erro).Você também pode voltar para a versão antiga de Cygwin( por exemplo, 1.7.30-1), mas esta solução não tem futuro.