Eu verificaria os privilégios dos outros diretórios pai no caminho para ter certeza de que você tem privilégios de leitura e execução. Eu vi problemas semelhantes quando um diretório estava faltando o priv executar.
Eu tenho um script de implantação escrito em bash que implanta um aplicativo baseado em jvm nos vários servidores que temos. O arquivo de implementação é empacotado em uma máquina windows e, em seguida, usando o comando scp da putty, colocamos o arquivo zip no servidor:
Aqui está o script push.ps1:
Remove-Item "C:\All\Scripts\Linux\JDA\deployments\dev-20160808\deploy\run\package.zip" -Force
Copy-Item -Path "C:\All\Scripts\Linux\JDA\deployments\dev-20160808\deploy\run\*" -Exclude @("debug.sh", "deploy.sh", "main.sh") -Destination "C:\All\Scripts\Linux\JDA\deployments\dev-20160808\deploy\package\scripts"
Compress-Archive -Path "C:\All\Scripts\Linux\JDA\deployments\dev-20160808\deploy\package" -DestinationPath "C:\All\Scripts\Linux\JDA\deployments\dev-20160808\package.zip" -Force
Move-Item -Path "C:\All\Scripts\Linux\JDA\deployments\dev-20160808\package.zip" -Destination "C:\All\Scripts\Linux\JDA\deployments\dev-20160808\deploy\run\package.zip" -Force
Compress-Archive -Path "C:\All\Scripts\Linux\JDA\deployments\dev-20160808\deploy\run" -DestinationPath "C:\All\Scripts\Linux\JDA\deployments\dev-20160808\deployment.zip" -Force
$pscpOutput = ""
pscp -pw shhhhh...secret! "C:\All\Scripts\Linux\JDA\deployments\dev-20160808\deployment.zip" [email protected]:/home/dev/deployment/ | Out-String | Tee-Object -Variable "pscpOutput" | Out-Null
Write-Verbose $pscpOutput
Remove-Item "C:\All\Scripts\Linux\JDA\deployments\dev-20160808\deployment.zip" -Force
# ./deploy.sh -p package.zip -j /home/dev/x -r forward -d -t
Quando isso acontece, notei que recebi um erro de cp no meu terminal:
| 20160810 21:08:41 UTC | 20160810 17:08:41 EDT | > Deployment: 375 -> Copying Deployment Package /templates for dev environment files...
| 20160810 21:08:41 UTC | 20160810 17:08:41 EDT | > Deployment: 376 -> cp -fr "/home/dev/deployment/package/templates/env/dev/." "/home/dev/x/jda/optimizer/runtimes/version/16.1.1/templates/env/dev/"
cp: cannot stat ‘/home/dev/deployment/package/templates/env/dev/.’: Permission denied
Eu encontrei o diretório e recebi a seguinte saída que nunca vi antes.
Por que o texto é vermelho e preenchido com ??? marcas?
Eu verificaria os privilégios dos outros diretórios pai no caminho para ter certeza de que você tem privilégios de leitura e execução. Eu vi problemas semelhantes quando um diretório estava faltando o priv executar.