Estou tentando encontrar uma maneira de encurtar essas linhas ( CI_PRIVATE_SSH_KEY
já está definido):
mkdir -p "${HOME}/.ssh/"
chmod 700 "${HOME}/.ssh/"
echo "${CI_PRIVATE_SSH_KEY}" > "${HOME}/.ssh/id_rsa"
chmod 600 "${HOME}/.ssh/id_rsa"
Isto é o que eu tenho até agora:
(umask 077; mkdir -p "${HOME}/.ssh/"; echo "${CI_PRIVATE_SSH_KEY}" > "${HOME}/.ssh/id_rsa")
Mas isso não funciona, porque o diretório está sendo criado sem permissões group
+ .other
Então, minha pergunta é: existe um umask
valor que me permita criar diretórios 700
e arquivos com 600
(desde que o valor padrão seja 0022
)?
Também já tentei
177
, mas também não funciona.
eu concordei com @Jeff Schaller, chmod é claro e óbvio versus umask.
tente construir um liner com
&&
operadore a permissão preferencial do
.ssh
diretório alterada para 644bash tentaria executar o comando da esquerda para a direita do
&&
operadore só continua quando todo o status de retorno do comando "left side" for 0
ou umask 133 para
.ssh
, 177 para a chave,umask 077 irá: